From d07d5d99549bf81dca43c5802d62e87d1a576f0c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 07:12:24 +0000 Subject: [PATCH 01/52] Bump github.com/hashicorp/hcl/v2 from 2.14.1 to 2.19.1 Bumps [github.com/hashicorp/hcl/v2](https://github.com/hashicorp/hcl) from 2.14.1 to 2.19.1. - [Release notes](https://github.com/hashicorp/hcl/releases) - [Changelog](https://github.com/hashicorp/hcl/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/hcl/compare/v2.14.1...v2.19.1) --- updated-dependencies: - dependency-name: github.com/hashicorp/hcl/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 5 +++-- go.sum | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 7c28a7adb0..4d5a578a49 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/hcl v1.0.0 - github.com/hashicorp/hcl/v2 v2.14.1 + github.com/hashicorp/hcl/v2 v2.19.1 github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.0 github.com/hashicorp/terraform-provider-google-beta v3.73.0+incompatible github.com/nasa9084/go-openapi v0.0.0-20200604141640-2875b7376353 @@ -36,7 +36,7 @@ require ( github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/tmccombs/hcl2json v0.3.4 - github.com/zclconf/go-cty v1.11.0 + github.com/zclconf/go-cty v1.13.0 go.opencensus.io v0.24.0 go.uber.org/zap v1.21.0 golang.org/x/oauth2 v0.11.0 @@ -78,6 +78,7 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect diff --git a/go.sum b/go.sum index 1263111f2d..b79052524c 100644 --- a/go.sum +++ b/go.sum @@ -110,6 +110,8 @@ github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/appscode/jsonpatch v0.0.0-20190108182946-7c0e3b262f30 h1:Kn3rqvbUFqSepE2OqVu0Pn1CbDw9IuMlONapol0zuwk= github.com/appscode/jsonpatch v0.0.0-20190108182946-7c0e3b262f30/go.mod h1:4AJxUpXUhv4N+ziTvIcWWXgeorXpxPZOfk9HdEVr96M= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -455,8 +457,8 @@ github.com/hashicorp/hc-install v0.4.0/go.mod h1:5d155H8EC5ewegao9A4PUTMNPZaq+Tb github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= -github.com/hashicorp/hcl/v2 v2.14.1 h1:x0BpjfZ+CYdbiz+8yZTQ+gdLO7IXvOut7Da+XJayx34= -github.com/hashicorp/hcl/v2 v2.14.1/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= +github.com/hashicorp/hcl/v2 v2.19.1 h1://i05Jqznmb2EXqa39Nsvyan2o5XyMowW5fnCKW5RPI= +github.com/hashicorp/hcl/v2 v2.19.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= @@ -780,8 +782,8 @@ github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLE github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.11.0 h1:726SxLdi2SDnjY+BStqB9J1hNp4+2WlzyXLuimibIe0= -github.com/zclconf/go-cty v1.11.0/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zclconf/go-cty v1.13.0 h1:It5dfKTTZHe9aeppbNOda3mN7Ag7sg6QkBNm6TkyFa0= +github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= From 164ab46c1c320273e57585a158cf945945e529d4 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Thu, 25 Jan 2024 03:48:04 +0000 Subject: [PATCH 02/52] Move state-into-spec defaulter to controllers --- pkg/controller/dcl/controller.go | 19 ++++--- .../auditconfig/iamauditconfig_controller.go | 12 +++++ .../iampartialpolicy_controller.go | 12 +++++ .../iam/policy/iampolicy_controller.go | 12 +++++ .../iampolicymember_controller.go | 12 +++++ pkg/controller/lifecyclehandler/handler.go | 14 ++--- pkg/controller/tf/controller.go | 19 ++++--- pkg/k8s/state_into_spec_annotation.go | 28 +++++----- pkg/k8s/state_into_spec_annotation_test.go | 53 +++++++++++++------ pkg/webhook/generic_defaulter.go | 19 +------ 10 files changed, 131 insertions(+), 69 deletions(-) diff --git a/pkg/controller/dcl/controller.go b/pkg/controller/dcl/controller.go index 4ce08ca129..2628c4c33f 100644 --- a/pkg/controller/dcl/controller.go +++ b/pkg/controller/dcl/controller.go @@ -197,6 +197,9 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %w", req.NamespacedName.String(), err) } + if err := r.handleDefault(resource); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) + } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error applying changes to resource '%v' for backwards compatibility: %v", k8s.GetNamespacedName(resource), err) } @@ -414,6 +417,15 @@ func (r *Reconciler) obtainResourceLeaseIfNecessary(ctx context.Context, resourc return nil } +func (r *Reconciler) handleDefault(resource *dcl.Resource) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) + } + return nil +} + func (r *Reconciler) applyChangesForBackwardsCompatibility(ctx context.Context, resource *dcl.Resource) error { // Ensure the resource has a hierarchical reference. This is done to be // backwards compatible with resources created before the webhook for @@ -430,13 +442,6 @@ func (r *Reconciler) applyChangesForBackwardsCompatibility(ctx context.Context, if err := k8s.EnsureHierarchicalReference(ctx, &resource.Resource, hierarchicalRefs, containers, r.Client); err != nil { return fmt.Errorf("error ensuring resource '%v' has a hierarchical reference: %v", k8s.GetNamespacedName(resource), err) } - - // Ensure the resource has a state-into-spec annotation. - // This is done to be backwards compatible with resources - // created before the webhook for defaulting the annotation was added. - if err := k8s.EnsureSpecIntoSateAnnotation(&resource.Resource); err != nil { - return fmt.Errorf("error ensuring resource '%v' has a '%v' annotation: %v", k8s.GetNamespacedName(resource), k8s.StateIntoSpecAnnotation, err) - } return nil } diff --git a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go index 3b3742e089..83b7d3777c 100644 --- a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go +++ b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go @@ -139,6 +139,9 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } + if err := r.handleDefault(&auditConfig); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(&auditConfig), err) + } reconcileContext := &reconcileContext{ Reconciler: r, Ctx: ctx, @@ -159,6 +162,15 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } +func (r *Reconciler) handleDefault(auditConfig *iamv1beta1.IAMAuditConfig) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(auditConfig, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(auditConfig), err) + } + return nil +} + func (r *reconcileContext) doReconcile(auditConfig *iamv1beta1.IAMAuditConfig) (requeue bool, err error) { defer execution.RecoverWithInternalError(&err) if !auditConfig.DeletionTimestamp.IsZero() { diff --git a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go index 8a1da19c99..25efd88ca7 100644 --- a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go +++ b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go @@ -151,6 +151,9 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon // Error reading the object - requeue the request. return reconcile.Result{}, err } + if err := r.handleDefault(policy); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM parital policy '%v': %v", k8s.GetNamespacedName(policy), err) + } runCtx := &reconcileContext{ Reconciler: r, Ctx: ctx, @@ -171,6 +174,15 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } +func (r *ReconcileIAMPartialPolicy) handleDefault(pp *iamv1beta1.IAMPartialPolicy) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(pp, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(pp), err) + } + return nil +} + func (r *reconcileContext) doReconcile(pp *iamv1beta1.IAMPartialPolicy) (requeue bool, err error) { defer execution.RecoverWithInternalError(&err) if !pp.DeletionTimestamp.IsZero() { diff --git a/pkg/controller/iam/policy/iampolicy_controller.go b/pkg/controller/iam/policy/iampolicy_controller.go index 3d80448354..d959a3cee7 100644 --- a/pkg/controller/iam/policy/iampolicy_controller.go +++ b/pkg/controller/iam/policy/iampolicy_controller.go @@ -150,6 +150,9 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re // Error reading the object - requeue the request. return reconcile.Result{}, err } + if err := r.handleDefault(policy); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(policy), err) + } runCtx := &reconcileContext{ Reconciler: r, Ctx: ctx, @@ -170,6 +173,15 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } +func (r *ReconcileIAMPolicy) handleDefault(policy *iamv1beta1.IAMPolicy) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policy, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policy), err) + } + return nil +} + func (r *reconcileContext) doReconcile(policy *iamv1beta1.IAMPolicy) (requeue bool, err error) { defer execution.RecoverWithInternalError(&err) if !policy.DeletionTimestamp.IsZero() { diff --git a/pkg/controller/iam/policymember/iampolicymember_controller.go b/pkg/controller/iam/policymember/iampolicymember_controller.go index 3247ff4d8c..89d407dfdc 100644 --- a/pkg/controller/iam/policymember/iampolicymember_controller.go +++ b/pkg/controller/iam/policymember/iampolicymember_controller.go @@ -149,6 +149,9 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } + if err := r.handleDefault(&memberPolicy); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy member '%v': %v", k8s.GetNamespacedName(&memberPolicy), err) + } reconcileContext := &reconcileContext{ Reconciler: r, Ctx: ctx, @@ -172,6 +175,15 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: requeueAfter}, nil } +func (r *Reconciler) handleDefault(policyMember *iamv1beta1.IAMPolicyMember) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policyMember, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policyMember), err) + } + return nil +} + func (r *reconcileContext) doReconcile(policyMember *iamv1beta1.IAMPolicyMember) (requeue bool, err error) { defer execution.RecoverWithInternalError(&err) if !policyMember.DeletionTimestamp.IsZero() { diff --git a/pkg/controller/lifecyclehandler/handler.go b/pkg/controller/lifecyclehandler/handler.go index c71571a31d..9ac78d9488 100644 --- a/pkg/controller/lifecyclehandler/handler.go +++ b/pkg/controller/lifecyclehandler/handler.go @@ -197,20 +197,22 @@ func reasonForUnresolvableDeps(err error) (string, error) { func (r *LifecycleHandler) EnsureFinalizers(ctx context.Context, original, resource *k8s.Resource, finalizers ...string) error { if !k8s.EnsureFinalizers(resource, finalizers...) { - u, err := original.MarshalAsUnstructured() + uo, err := original.MarshalAsUnstructured() if err != nil { return err } - copy, err := k8s.NewResource(u) + originalCopy, err := k8s.NewResource(uo) if err != nil { return err } - if !k8s.EnsureFinalizers(copy, finalizers...) { - if err := r.updateAPIServer(ctx, copy); err != nil { + if !k8s.EnsureFinalizers(originalCopy, finalizers...) { + if err := r.updateAPIServer(ctx, originalCopy); err != nil { return err } - // sync the resource up with the updated metadata. - resource.ObjectMeta = copy.ObjectMeta + // Sync the resource up with the updated metadata except for the + // defaulted / pre-processed annotations. + originalCopy.ObjectMeta.Annotations = resource.ObjectMeta.Annotations + resource.ObjectMeta = originalCopy.ObjectMeta } } return nil diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index c7b3ac8d09..7e2dc518d1 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -174,6 +174,9 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %v", req.NamespacedName.String(), err) } + if err := r.handleDefault(resource); err != nil { + return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) + } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error applying changes to resource '%v' for backwards compatibility: %v", k8s.GetNamespacedName(resource), err) } @@ -398,6 +401,15 @@ func (r *Reconciler) enqueueForImmediateReconciliation(resourceNN types.Namespac r.immediateReconcileRequests <- genEvent } +func (r *Reconciler) handleDefault(resource *krmtotf.Resource) error { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) + } + return nil +} + func (r *Reconciler) applyChangesForBackwardsCompatibility(ctx context.Context, resource *krmtotf.Resource) error { rc := resource.ResourceConfig @@ -414,13 +426,6 @@ func (r *Reconciler) applyChangesForBackwardsCompatibility(ctx context.Context, if err := k8s.EnsureHierarchicalReference(ctx, &resource.Resource, rc.HierarchicalReferences, rc.Containers, r.Client); err != nil { return fmt.Errorf("error ensuring resource '%v' has a hierarchical reference: %v", k8s.GetNamespacedName(resource), err) } - - // Ensure the resource has a state-into-spec annotation. - // This is done to be backwards compatible with resources - // created before the webhook for defaulting the annotation was added. - if err := k8s.EnsureSpecIntoSateAnnotation(&resource.Resource); err != nil { - return fmt.Errorf("error ensuring resource '%v' has a '%v' annotation: %v", k8s.GetNamespacedName(resource), k8s.StateIntoSpecAnnotation, err) - } return nil } diff --git a/pkg/k8s/state_into_spec_annotation.go b/pkg/k8s/state_into_spec_annotation.go index 235136fec9..e270aa7123 100644 --- a/pkg/k8s/state_into_spec_annotation.go +++ b/pkg/k8s/state_into_spec_annotation.go @@ -19,23 +19,23 @@ import ( "strings" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) -func ValidateOrDefaultStateIntoSpecAnnotation(obj *unstructured.Unstructured) error { +// ValidateOrDefaultStateIntoSpecAnnotation validates the value of the +// 'state-into-spec' annotation if it is set and defaults the annotation to the +// passed in defaultValue if it is unset. +func ValidateOrDefaultStateIntoSpecAnnotation(obj metav1.Object, defaultValue string) error { _, found := GetAnnotation(StateIntoSpecAnnotation, obj) - if !found { - SetAnnotation(StateIntoSpecAnnotation, StateMergeIntoSpec, obj) + if found { + return validateStateIntoSpecAnnotation(obj) } - return validateStateIntoSpecAnnotation(obj) + defaultStateIntoSpecAnnotation(obj, defaultValue) + return nil } -func EnsureSpecIntoSateAnnotation(obj *Resource) error { - _, found := GetAnnotation(StateIntoSpecAnnotation, obj) - if !found { - SetAnnotation(StateIntoSpecAnnotation, StateMergeIntoSpec, obj) - } - return validateStateIntoSpecAnnotation(obj) +func defaultStateIntoSpecAnnotation(obj metav1.Object, defaultValue string) { + SetAnnotation(StateIntoSpecAnnotation, defaultValue, obj) + return } func validateStateIntoSpecAnnotation(obj metav1.Object) error { @@ -44,14 +44,14 @@ func validateStateIntoSpecAnnotation(obj metav1.Object) error { return fmt.Errorf("couldn't find the value for '%v' annotation", StateIntoSpecAnnotation) } - if !isAcceptedValue(val) { + if !isAcceptedValue(val, StateIntoSpecAnnotationValues) { return fmt.Errorf("invalid value '%v' for '%v' annotation, can be one of {%v}", val, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) } return nil } -func isAcceptedValue(val string) bool { - for _, v := range StateIntoSpecAnnotationValues { +func isAcceptedValue(val string, acceptedValues []string) bool { + for _, v := range acceptedValues { if val == v { return true } diff --git a/pkg/k8s/state_into_spec_annotation_test.go b/pkg/k8s/state_into_spec_annotation_test.go index 60a27e9429..98f83a325b 100644 --- a/pkg/k8s/state_into_spec_annotation_test.go +++ b/pkg/k8s/state_into_spec_annotation_test.go @@ -22,13 +22,14 @@ import ( func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { tests := []struct { - name string - obj *unstructured.Unstructured - hasError bool - expectedVal string + name string + obj *unstructured.Unstructured + defaultValue string + hasError bool + expectedVal string }{ { - name: "user specifies an accepted value", + name: "valid 'state-into-spec' value", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", @@ -40,10 +41,11 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { }, }, }, - expectedVal: "merge", + defaultValue: "merge", + expectedVal: "merge", }, { - name: "user specifies an unacceptable value", + name: "invalid 'state-into-spec' value", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", @@ -55,10 +57,11 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { }, }, }, - hasError: true, + defaultValue: "merge", + hasError: true, }, { - name: "user specifies an empty string", + name: "'state-into-spec' value is an empty string", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", @@ -70,20 +73,22 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { }, }, }, - hasError: true, + defaultValue: "merge", + hasError: true, }, { - name: "defaulting if absent", + name: "'state-into-spec' annotation defaulted to defaultValue if unset", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", "kind": "Test1Bar", }, }, - expectedVal: "merge", + defaultValue: "absent", + expectedVal: "absent", }, { - name: "BigQueryDataset kind can use 'absent' value", + name: "BigQueryDataset kind can use 'absent' as the 'state-into-spec' value", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "bigquery.cnrm.cloud.google.com/v1beta1", @@ -95,10 +100,11 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { }, }, }, - expectedVal: "absent", + defaultValue: "absent", + expectedVal: "absent", }, { - name: "BigQueryDataset kind can use 'merge' value", + name: "BigQueryDataset kind can use 'merge' as the 'state-into-spec' value", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "bigquery.cnrm.cloud.google.com/v1beta1", @@ -110,14 +116,27 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { }, }, }, - expectedVal: "merge", + defaultValue: "merge", + expectedVal: "merge", + }, + { + name: "ComputeAddress has 'state-into-spec' annotation defaulted " + + "to 'merge' even if defaultValue is 'absent'", + obj: &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", + "kind": "ComputeAddress", + }, + }, + defaultValue: "absent", + expectedVal: "merge", }, } for _, tc := range tests { tc := tc t.Run(tc.name, func(t *testing.T) { - err := ValidateOrDefaultStateIntoSpecAnnotation(tc.obj) + err := ValidateOrDefaultStateIntoSpecAnnotation(tc.obj, tc.defaultValue) if tc.hasError { if err == nil { t.Fatalf("got nil, but expect an error") diff --git a/pkg/webhook/generic_defaulter.go b/pkg/webhook/generic_defaulter.go index e2f64be6e9..334ac7d128 100644 --- a/pkg/webhook/generic_defaulter.go +++ b/pkg/webhook/generic_defaulter.go @@ -16,13 +16,7 @@ package webhook import ( "context" - "fmt" - "net/http" - "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" - - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/klog/v2" "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) @@ -44,16 +38,5 @@ func NewGenericDefaulter() HandlerFunc { } func (a *genericDefaulter) Handle(ctx context.Context, req admission.Request) admission.Response { - deserializer := codecs.UniversalDeserializer() - obj := &unstructured.Unstructured{} - if _, _, err := deserializer.Decode(req.AdmissionRequest.Object.Raw, nil, obj); err != nil { - klog.Error(err) - return admission.Errored(http.StatusBadRequest, - fmt.Errorf("error decoding object: %v", err)) - } - newObj := obj.DeepCopy() - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(newObj); err != nil { - return admission.Errored(http.StatusBadRequest, fmt.Errorf("error validating or defaulting '%v' annotation: %v", k8s.StateIntoSpecAnnotation, err)) - } - return constructPatchResponse(obj, newObj) + return admission.ValidationResponse(true, "no-op: this webhook is deprecated") } From 620aa4e302c483e0d087a6fa4e8f99c761071530 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Mon, 29 Jan 2024 20:25:06 +0000 Subject: [PATCH 03/52] Rename 'handleDefault' function and skip the special handling when defaulting 'state-into-spec' annotation --- pkg/controller/dcl/controller.go | 4 ++-- .../iam/auditconfig/iamauditconfig_controller.go | 4 ++-- .../partialpolicy/iampartialpolicy_controller.go | 4 ++-- pkg/controller/iam/policy/iampolicy_controller.go | 4 ++-- .../iam/policymember/iampolicymember_controller.go | 4 ++-- pkg/controller/tf/controller.go | 4 ++-- pkg/k8s/state_into_spec_annotation.go | 13 ++++--------- pkg/k8s/state_into_spec_annotation_test.go | 9 ++++----- 8 files changed, 20 insertions(+), 26 deletions(-) diff --git a/pkg/controller/dcl/controller.go b/pkg/controller/dcl/controller.go index 2628c4c33f..e800dfa33b 100644 --- a/pkg/controller/dcl/controller.go +++ b/pkg/controller/dcl/controller.go @@ -197,7 +197,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %w", req.NamespacedName.String(), err) } - if err := r.handleDefault(resource); err != nil { + if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { @@ -417,7 +417,7 @@ func (r *Reconciler) obtainResourceLeaseIfNecessary(ctx context.Context, resourc return nil } -func (r *Reconciler) handleDefault(resource *dcl.Resource) error { +func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *dcl.Resource) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go index 83b7d3777c..84a85a6610 100644 --- a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go +++ b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go @@ -139,7 +139,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } - if err := r.handleDefault(&auditConfig); err != nil { + if err := r.handleDefaultStateIntoSpecValue(&auditConfig); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(&auditConfig), err) } reconcileContext := &reconcileContext{ @@ -162,7 +162,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *Reconciler) handleDefault(auditConfig *iamv1beta1.IAMAuditConfig) error { +func (r *Reconciler) handleDefaultStateIntoSpecValue(auditConfig *iamv1beta1.IAMAuditConfig) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(auditConfig, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go index 25efd88ca7..1df642c19f 100644 --- a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go +++ b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go @@ -151,7 +151,7 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon // Error reading the object - requeue the request. return reconcile.Result{}, err } - if err := r.handleDefault(policy); err != nil { + if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM parital policy '%v': %v", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ @@ -174,7 +174,7 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *ReconcileIAMPartialPolicy) handleDefault(pp *iamv1beta1.IAMPartialPolicy) error { +func (r *ReconcileIAMPartialPolicy) handleDefaultStateIntoSpecValue(pp *iamv1beta1.IAMPartialPolicy) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(pp, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/controller/iam/policy/iampolicy_controller.go b/pkg/controller/iam/policy/iampolicy_controller.go index d959a3cee7..ee5e7808b4 100644 --- a/pkg/controller/iam/policy/iampolicy_controller.go +++ b/pkg/controller/iam/policy/iampolicy_controller.go @@ -150,7 +150,7 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re // Error reading the object - requeue the request. return reconcile.Result{}, err } - if err := r.handleDefault(policy); err != nil { + if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ @@ -173,7 +173,7 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *ReconcileIAMPolicy) handleDefault(policy *iamv1beta1.IAMPolicy) error { +func (r *ReconcileIAMPolicy) handleDefaultStateIntoSpecValue(policy *iamv1beta1.IAMPolicy) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policy, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/controller/iam/policymember/iampolicymember_controller.go b/pkg/controller/iam/policymember/iampolicymember_controller.go index 89d407dfdc..223d602365 100644 --- a/pkg/controller/iam/policymember/iampolicymember_controller.go +++ b/pkg/controller/iam/policymember/iampolicymember_controller.go @@ -149,7 +149,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } - if err := r.handleDefault(&memberPolicy); err != nil { + if err := r.handleDefaultStateIntoSpecValue(&memberPolicy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy member '%v': %v", k8s.GetNamespacedName(&memberPolicy), err) } reconcileContext := &reconcileContext{ @@ -175,7 +175,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: requeueAfter}, nil } -func (r *Reconciler) handleDefault(policyMember *iamv1beta1.IAMPolicyMember) error { +func (r *Reconciler) handleDefaultStateIntoSpecValue(policyMember *iamv1beta1.IAMPolicyMember) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policyMember, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index 7e2dc518d1..4cf37987cb 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -174,7 +174,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %v", req.NamespacedName.String(), err) } - if err := r.handleDefault(resource); err != nil { + if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { @@ -401,7 +401,7 @@ func (r *Reconciler) enqueueForImmediateReconciliation(resourceNN types.Namespac r.immediateReconcileRequests <- genEvent } -func (r *Reconciler) handleDefault(resource *krmtotf.Resource) error { +func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *krmtotf.Resource) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { diff --git a/pkg/k8s/state_into_spec_annotation.go b/pkg/k8s/state_into_spec_annotation.go index e270aa7123..7127dfb2d5 100644 --- a/pkg/k8s/state_into_spec_annotation.go +++ b/pkg/k8s/state_into_spec_annotation.go @@ -26,16 +26,11 @@ import ( // passed in defaultValue if it is unset. func ValidateOrDefaultStateIntoSpecAnnotation(obj metav1.Object, defaultValue string) error { _, found := GetAnnotation(StateIntoSpecAnnotation, obj) - if found { - return validateStateIntoSpecAnnotation(obj) + if !found { + // TODO(b/322836859): Ensure ComputeAddress doesn't need special handling. + SetAnnotation(StateIntoSpecAnnotation, defaultValue, obj) } - defaultStateIntoSpecAnnotation(obj, defaultValue) - return nil -} - -func defaultStateIntoSpecAnnotation(obj metav1.Object, defaultValue string) { - SetAnnotation(StateIntoSpecAnnotation, defaultValue, obj) - return + return validateStateIntoSpecAnnotation(obj) } func validateStateIntoSpecAnnotation(obj metav1.Object) error { diff --git a/pkg/k8s/state_into_spec_annotation_test.go b/pkg/k8s/state_into_spec_annotation_test.go index 98f83a325b..29388eb0ea 100644 --- a/pkg/k8s/state_into_spec_annotation_test.go +++ b/pkg/k8s/state_into_spec_annotation_test.go @@ -120,16 +120,15 @@ func TestValidateOrDefaultStateIntoSpecAnnotation(t *testing.T) { expectedVal: "merge", }, { - name: "ComputeAddress has 'state-into-spec' annotation defaulted " + - "to 'merge' even if defaultValue is 'absent'", + name: "error out if defaultValue is invalid", obj: &unstructured.Unstructured{ Object: map[string]interface{}{ "apiVersion": "test1.cnrm.cloud.google.com/v1alpha1", - "kind": "ComputeAddress", + "kind": "Test1Bar", }, }, - defaultValue: "absent", - expectedVal: "merge", + defaultValue: "invalid", + hasError: true, }, } From c2dd9591cfcc986904544b14763388f77f51ec28 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Thu, 1 Feb 2024 02:22:26 +0000 Subject: [PATCH 04/52] Remove TODO, fix typo, and use %w for errors --- pkg/controller/dcl/controller.go | 4 ++-- pkg/controller/iam/auditconfig/iamauditconfig_controller.go | 4 ++-- .../iam/partialpolicy/iampartialpolicy_controller.go | 4 ++-- pkg/controller/iam/policy/iampolicy_controller.go | 4 ++-- pkg/controller/iam/policymember/iampolicymember_controller.go | 4 ++-- pkg/controller/tf/controller.go | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/controller/dcl/controller.go b/pkg/controller/dcl/controller.go index e800dfa33b..3d59093b0b 100644 --- a/pkg/controller/dcl/controller.go +++ b/pkg/controller/dcl/controller.go @@ -198,7 +198,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %w", req.NamespacedName.String(), err) } if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %w", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error applying changes to resource '%v' for backwards compatibility: %v", k8s.GetNamespacedName(resource), err) @@ -421,7 +421,7 @@ func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *dcl.Resource) err // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) } return nil } diff --git a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go index 84a85a6610..c658e3a82b 100644 --- a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go +++ b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go @@ -140,7 +140,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{}, err } if err := r.handleDefaultStateIntoSpecValue(&auditConfig); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(&auditConfig), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %w", k8s.GetNamespacedName(&auditConfig), err) } reconcileContext := &reconcileContext{ Reconciler: r, @@ -166,7 +166,7 @@ func (r *Reconciler) handleDefaultStateIntoSpecValue(auditConfig *iamv1beta1.IAM // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(auditConfig, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(auditConfig), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(auditConfig), err) } return nil } diff --git a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go index 1df642c19f..e25b266b0b 100644 --- a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go +++ b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go @@ -152,7 +152,7 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon return reconcile.Result{}, err } if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for IAM parital policy '%v': %v", k8s.GetNamespacedName(policy), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM partial policy '%v': %w", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ Reconciler: r, @@ -178,7 +178,7 @@ func (r *ReconcileIAMPartialPolicy) handleDefaultStateIntoSpecValue(pp *iamv1bet // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(pp, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(pp), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(pp), err) } return nil } diff --git a/pkg/controller/iam/policy/iampolicy_controller.go b/pkg/controller/iam/policy/iampolicy_controller.go index ee5e7808b4..01adfbe17f 100644 --- a/pkg/controller/iam/policy/iampolicy_controller.go +++ b/pkg/controller/iam/policy/iampolicy_controller.go @@ -151,7 +151,7 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re return reconcile.Result{}, err } if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %v", k8s.GetNamespacedName(policy), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %w", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ Reconciler: r, @@ -177,7 +177,7 @@ func (r *ReconcileIAMPolicy) handleDefaultStateIntoSpecValue(policy *iamv1beta1. // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policy, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policy), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policy), err) } return nil } diff --git a/pkg/controller/iam/policymember/iampolicymember_controller.go b/pkg/controller/iam/policymember/iampolicymember_controller.go index 223d602365..e0edf3b091 100644 --- a/pkg/controller/iam/policymember/iampolicymember_controller.go +++ b/pkg/controller/iam/policymember/iampolicymember_controller.go @@ -150,7 +150,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{}, err } if err := r.handleDefaultStateIntoSpecValue(&memberPolicy); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy member '%v': %v", k8s.GetNamespacedName(&memberPolicy), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy member '%v': %w", k8s.GetNamespacedName(&memberPolicy), err) } reconcileContext := &reconcileContext{ Reconciler: r, @@ -179,7 +179,7 @@ func (r *Reconciler) handleDefaultStateIntoSpecValue(policyMember *iamv1beta1.IA // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policyMember, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policyMember), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policyMember), err) } return nil } diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index 4cf37987cb..f219a0e4a3 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -175,7 +175,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %v", req.NamespacedName.String(), err) } if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { - return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %v", k8s.GetNamespacedName(resource), err) + return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %w", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error applying changes to resource '%v' for backwards compatibility: %v", k8s.GetNamespacedName(resource), err) @@ -405,7 +405,7 @@ func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *krmtotf.Resource) // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %v", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) + return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) } return nil } From 704e8412621e19ef6a5d83f483575c66014aced4 Mon Sep 17 00:00:00 2001 From: justinsb Date: Fri, 9 Feb 2024 13:49:20 -0500 Subject: [PATCH 05/52] typed client generation: parameterize version We were previously assuming everything was v1beta1. --- scripts/generate-go-crd-clients/register.go.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-go-crd-clients/register.go.tmpl b/scripts/generate-go-crd-clients/register.go.tmpl index db647f6d43..7256ca05dc 100644 --- a/scripts/generate-go-crd-clients/register.go.tmpl +++ b/scripts/generate-go-crd-clients/register.go.tmpl @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "{{.Service}}.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "{{.Service}}.cnrm.cloud.google.com", Version: "{{.Version}}"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} From d57f53dcd8259c9c4570357e4409124f08702566 Mon Sep 17 00:00:00 2001 From: justinsb Date: Fri, 9 Feb 2024 14:20:46 -0500 Subject: [PATCH 06/52] autogen: regenerated types to include corrected version Our v1alpha1 types now have a v1alpha in their GroupVersion. --- .../generated/apis/accesscontextmanager/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/apigateway/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/apigee/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/apikeys/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/appengine/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/beyondcorp/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/bigquery/v1alpha1/register.go | 2 +- .../generated/apis/bigqueryanalyticshub/v1alpha1/register.go | 2 +- .../generated/apis/bigqueryconnection/v1alpha1/register.go | 2 +- .../generated/apis/bigquerydatapolicy/v1alpha1/register.go | 2 +- .../generated/apis/bigquerydatatransfer/v1alpha1/register.go | 2 +- .../generated/apis/bigqueryreservation/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/cloudasset/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/cloudfunctions2/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/cloudids/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/cloudiot/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/cloudtasks/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/compute/v1alpha1/register.go | 2 +- .../generated/apis/containeranalysis/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/datacatalog/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/dataform/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/datastore/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/datastream/v1alpha1/register.go | 2 +- .../generated/apis/deploymentmanager/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/dialogflow/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/dialogflowcx/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/dns/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/documentai/v1alpha1/register.go | 2 +- .../generated/apis/essentialcontacts/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/filestore/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/firebase/v1alpha1/register.go | 2 +- .../generated/apis/firebasedatabase/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/firebasehosting/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/firebasestorage/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/gkebackup/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/healthcare/v1alpha1/register.go | 2 +- .../generated/apis/identityplatform/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/kms/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/mlengine/v1alpha1/register.go | 2 +- .../generated/apis/networkmanagement/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/networkservices/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/notebooks/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/orgpolicy/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/osconfig/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/oslogin/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/pubsublite/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/securitycenter/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/serviceusage/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/storage/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/storagetransfer/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/tags/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/tpu/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/vertexai/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/workflows/v1alpha1/register.go | 2 +- pkg/clients/generated/apis/workstations/v1alpha1/register.go | 2 +- 55 files changed, 55 insertions(+), 55 deletions(-) diff --git a/pkg/clients/generated/apis/accesscontextmanager/v1alpha1/register.go b/pkg/clients/generated/apis/accesscontextmanager/v1alpha1/register.go index 56c2c20a2b..cf8576ad28 100644 --- a/pkg/clients/generated/apis/accesscontextmanager/v1alpha1/register.go +++ b/pkg/clients/generated/apis/accesscontextmanager/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "accesscontextmanager.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "accesscontextmanager.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/apigateway/v1alpha1/register.go b/pkg/clients/generated/apis/apigateway/v1alpha1/register.go index 69b78e6caf..45bf02a76f 100644 --- a/pkg/clients/generated/apis/apigateway/v1alpha1/register.go +++ b/pkg/clients/generated/apis/apigateway/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "apigateway.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "apigateway.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/apigee/v1alpha1/register.go b/pkg/clients/generated/apis/apigee/v1alpha1/register.go index 5e33f758f0..0d52ac285c 100644 --- a/pkg/clients/generated/apis/apigee/v1alpha1/register.go +++ b/pkg/clients/generated/apis/apigee/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "apigee.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "apigee.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/apikeys/v1alpha1/register.go b/pkg/clients/generated/apis/apikeys/v1alpha1/register.go index b627ca65be..c7093902df 100644 --- a/pkg/clients/generated/apis/apikeys/v1alpha1/register.go +++ b/pkg/clients/generated/apis/apikeys/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "apikeys.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "apikeys.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/appengine/v1alpha1/register.go b/pkg/clients/generated/apis/appengine/v1alpha1/register.go index 6f97340fb7..c9bad9e33d 100644 --- a/pkg/clients/generated/apis/appengine/v1alpha1/register.go +++ b/pkg/clients/generated/apis/appengine/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "appengine.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "appengine.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/beyondcorp/v1alpha1/register.go b/pkg/clients/generated/apis/beyondcorp/v1alpha1/register.go index 8eed43a52d..11012a7a2b 100644 --- a/pkg/clients/generated/apis/beyondcorp/v1alpha1/register.go +++ b/pkg/clients/generated/apis/beyondcorp/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "beyondcorp.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "beyondcorp.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigquery/v1alpha1/register.go b/pkg/clients/generated/apis/bigquery/v1alpha1/register.go index cabac0667a..b2dc2dc69e 100644 --- a/pkg/clients/generated/apis/bigquery/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigquery/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigquery.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigquery.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigqueryanalyticshub/v1alpha1/register.go b/pkg/clients/generated/apis/bigqueryanalyticshub/v1alpha1/register.go index 4026e01194..f8e5303f12 100644 --- a/pkg/clients/generated/apis/bigqueryanalyticshub/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigqueryanalyticshub/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryanalyticshub.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryanalyticshub.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigqueryconnection/v1alpha1/register.go b/pkg/clients/generated/apis/bigqueryconnection/v1alpha1/register.go index 6456376aab..9b03dc0951 100644 --- a/pkg/clients/generated/apis/bigqueryconnection/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigqueryconnection/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryconnection.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryconnection.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigquerydatapolicy/v1alpha1/register.go b/pkg/clients/generated/apis/bigquerydatapolicy/v1alpha1/register.go index 3311d61496..2e2d961628 100644 --- a/pkg/clients/generated/apis/bigquerydatapolicy/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigquerydatapolicy/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigquerydatapolicy.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigquerydatapolicy.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigquerydatatransfer/v1alpha1/register.go b/pkg/clients/generated/apis/bigquerydatatransfer/v1alpha1/register.go index f836e5a559..b70137f930 100644 --- a/pkg/clients/generated/apis/bigquerydatatransfer/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigquerydatatransfer/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigquerydatatransfer.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigquerydatatransfer.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/bigqueryreservation/v1alpha1/register.go b/pkg/clients/generated/apis/bigqueryreservation/v1alpha1/register.go index 968ff46322..99cb08fd17 100644 --- a/pkg/clients/generated/apis/bigqueryreservation/v1alpha1/register.go +++ b/pkg/clients/generated/apis/bigqueryreservation/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryreservation.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "bigqueryreservation.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/cloudasset/v1alpha1/register.go b/pkg/clients/generated/apis/cloudasset/v1alpha1/register.go index 1da3091e59..9c817f3e12 100644 --- a/pkg/clients/generated/apis/cloudasset/v1alpha1/register.go +++ b/pkg/clients/generated/apis/cloudasset/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "cloudasset.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "cloudasset.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/cloudfunctions2/v1alpha1/register.go b/pkg/clients/generated/apis/cloudfunctions2/v1alpha1/register.go index 91b27a994a..1531ee2a0d 100644 --- a/pkg/clients/generated/apis/cloudfunctions2/v1alpha1/register.go +++ b/pkg/clients/generated/apis/cloudfunctions2/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "cloudfunctions2.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "cloudfunctions2.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/cloudids/v1alpha1/register.go b/pkg/clients/generated/apis/cloudids/v1alpha1/register.go index f80242cf03..ea138ec217 100644 --- a/pkg/clients/generated/apis/cloudids/v1alpha1/register.go +++ b/pkg/clients/generated/apis/cloudids/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "cloudids.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "cloudids.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/cloudiot/v1alpha1/register.go b/pkg/clients/generated/apis/cloudiot/v1alpha1/register.go index d3225b6d6c..c382e543cd 100644 --- a/pkg/clients/generated/apis/cloudiot/v1alpha1/register.go +++ b/pkg/clients/generated/apis/cloudiot/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "cloudiot.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "cloudiot.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/cloudtasks/v1alpha1/register.go b/pkg/clients/generated/apis/cloudtasks/v1alpha1/register.go index 0c0b51217b..a8278a5df9 100644 --- a/pkg/clients/generated/apis/cloudtasks/v1alpha1/register.go +++ b/pkg/clients/generated/apis/cloudtasks/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "cloudtasks.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "cloudtasks.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/compute/v1alpha1/register.go b/pkg/clients/generated/apis/compute/v1alpha1/register.go index 83f93df4d5..9ec835feb9 100644 --- a/pkg/clients/generated/apis/compute/v1alpha1/register.go +++ b/pkg/clients/generated/apis/compute/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "compute.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "compute.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/containeranalysis/v1alpha1/register.go b/pkg/clients/generated/apis/containeranalysis/v1alpha1/register.go index fa8d31742a..1f2d2fcf1f 100644 --- a/pkg/clients/generated/apis/containeranalysis/v1alpha1/register.go +++ b/pkg/clients/generated/apis/containeranalysis/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "containeranalysis.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "containeranalysis.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/datacatalog/v1alpha1/register.go b/pkg/clients/generated/apis/datacatalog/v1alpha1/register.go index 43038a5beb..69ecacfb55 100644 --- a/pkg/clients/generated/apis/datacatalog/v1alpha1/register.go +++ b/pkg/clients/generated/apis/datacatalog/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "datacatalog.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "datacatalog.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/dataform/v1alpha1/register.go b/pkg/clients/generated/apis/dataform/v1alpha1/register.go index e9f7f6d6ec..3309d40dba 100644 --- a/pkg/clients/generated/apis/dataform/v1alpha1/register.go +++ b/pkg/clients/generated/apis/dataform/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "dataform.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "dataform.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/datastore/v1alpha1/register.go b/pkg/clients/generated/apis/datastore/v1alpha1/register.go index b63bd3b4e3..9967b3142a 100644 --- a/pkg/clients/generated/apis/datastore/v1alpha1/register.go +++ b/pkg/clients/generated/apis/datastore/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "datastore.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "datastore.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/datastream/v1alpha1/register.go b/pkg/clients/generated/apis/datastream/v1alpha1/register.go index e31f498dba..576b6eb0a8 100644 --- a/pkg/clients/generated/apis/datastream/v1alpha1/register.go +++ b/pkg/clients/generated/apis/datastream/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "datastream.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "datastream.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/deploymentmanager/v1alpha1/register.go b/pkg/clients/generated/apis/deploymentmanager/v1alpha1/register.go index 212f9af0e6..308aba8b4c 100644 --- a/pkg/clients/generated/apis/deploymentmanager/v1alpha1/register.go +++ b/pkg/clients/generated/apis/deploymentmanager/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "deploymentmanager.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "deploymentmanager.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/dialogflow/v1alpha1/register.go b/pkg/clients/generated/apis/dialogflow/v1alpha1/register.go index 9c5be6eb16..ec91faa38e 100644 --- a/pkg/clients/generated/apis/dialogflow/v1alpha1/register.go +++ b/pkg/clients/generated/apis/dialogflow/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "dialogflow.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "dialogflow.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/dialogflowcx/v1alpha1/register.go b/pkg/clients/generated/apis/dialogflowcx/v1alpha1/register.go index a663135c85..664ce6c8bc 100644 --- a/pkg/clients/generated/apis/dialogflowcx/v1alpha1/register.go +++ b/pkg/clients/generated/apis/dialogflowcx/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "dialogflowcx.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "dialogflowcx.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/dns/v1alpha1/register.go b/pkg/clients/generated/apis/dns/v1alpha1/register.go index 242bfd1200..0fb2d0909f 100644 --- a/pkg/clients/generated/apis/dns/v1alpha1/register.go +++ b/pkg/clients/generated/apis/dns/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "dns.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "dns.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/documentai/v1alpha1/register.go b/pkg/clients/generated/apis/documentai/v1alpha1/register.go index d8c121712b..52ca095c66 100644 --- a/pkg/clients/generated/apis/documentai/v1alpha1/register.go +++ b/pkg/clients/generated/apis/documentai/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "documentai.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "documentai.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/essentialcontacts/v1alpha1/register.go b/pkg/clients/generated/apis/essentialcontacts/v1alpha1/register.go index 24d062cf8a..655c200dca 100644 --- a/pkg/clients/generated/apis/essentialcontacts/v1alpha1/register.go +++ b/pkg/clients/generated/apis/essentialcontacts/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "essentialcontacts.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "essentialcontacts.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/filestore/v1alpha1/register.go b/pkg/clients/generated/apis/filestore/v1alpha1/register.go index d4526bf3c6..37ea716559 100644 --- a/pkg/clients/generated/apis/filestore/v1alpha1/register.go +++ b/pkg/clients/generated/apis/filestore/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "filestore.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "filestore.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/firebase/v1alpha1/register.go b/pkg/clients/generated/apis/firebase/v1alpha1/register.go index edd7ee95cc..2aaea796d2 100644 --- a/pkg/clients/generated/apis/firebase/v1alpha1/register.go +++ b/pkg/clients/generated/apis/firebase/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "firebase.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "firebase.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/firebasedatabase/v1alpha1/register.go b/pkg/clients/generated/apis/firebasedatabase/v1alpha1/register.go index c298840728..76d15d7020 100644 --- a/pkg/clients/generated/apis/firebasedatabase/v1alpha1/register.go +++ b/pkg/clients/generated/apis/firebasedatabase/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "firebasedatabase.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "firebasedatabase.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/firebasehosting/v1alpha1/register.go b/pkg/clients/generated/apis/firebasehosting/v1alpha1/register.go index 8b3010f9d2..81be570eae 100644 --- a/pkg/clients/generated/apis/firebasehosting/v1alpha1/register.go +++ b/pkg/clients/generated/apis/firebasehosting/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "firebasehosting.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "firebasehosting.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/firebasestorage/v1alpha1/register.go b/pkg/clients/generated/apis/firebasestorage/v1alpha1/register.go index fed5a58118..76cae2b26c 100644 --- a/pkg/clients/generated/apis/firebasestorage/v1alpha1/register.go +++ b/pkg/clients/generated/apis/firebasestorage/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "firebasestorage.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "firebasestorage.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/gkebackup/v1alpha1/register.go b/pkg/clients/generated/apis/gkebackup/v1alpha1/register.go index 1c4c9c114c..302e129e01 100644 --- a/pkg/clients/generated/apis/gkebackup/v1alpha1/register.go +++ b/pkg/clients/generated/apis/gkebackup/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "gkebackup.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "gkebackup.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/healthcare/v1alpha1/register.go b/pkg/clients/generated/apis/healthcare/v1alpha1/register.go index 779e3b2f33..bf10df6de6 100644 --- a/pkg/clients/generated/apis/healthcare/v1alpha1/register.go +++ b/pkg/clients/generated/apis/healthcare/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "healthcare.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "healthcare.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/identityplatform/v1alpha1/register.go b/pkg/clients/generated/apis/identityplatform/v1alpha1/register.go index a9fe434676..a5ac9010f6 100644 --- a/pkg/clients/generated/apis/identityplatform/v1alpha1/register.go +++ b/pkg/clients/generated/apis/identityplatform/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "identityplatform.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "identityplatform.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/kms/v1alpha1/register.go b/pkg/clients/generated/apis/kms/v1alpha1/register.go index 03e1d90f14..54571fcae3 100644 --- a/pkg/clients/generated/apis/kms/v1alpha1/register.go +++ b/pkg/clients/generated/apis/kms/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "kms.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "kms.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/mlengine/v1alpha1/register.go b/pkg/clients/generated/apis/mlengine/v1alpha1/register.go index 8edc060175..0c54bf6e95 100644 --- a/pkg/clients/generated/apis/mlengine/v1alpha1/register.go +++ b/pkg/clients/generated/apis/mlengine/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "mlengine.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "mlengine.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/networkmanagement/v1alpha1/register.go b/pkg/clients/generated/apis/networkmanagement/v1alpha1/register.go index 08f49cff06..c8c6a8dc46 100644 --- a/pkg/clients/generated/apis/networkmanagement/v1alpha1/register.go +++ b/pkg/clients/generated/apis/networkmanagement/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "networkmanagement.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "networkmanagement.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/networkservices/v1alpha1/register.go b/pkg/clients/generated/apis/networkservices/v1alpha1/register.go index 1823f6c8af..e2c164bfd7 100644 --- a/pkg/clients/generated/apis/networkservices/v1alpha1/register.go +++ b/pkg/clients/generated/apis/networkservices/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "networkservices.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "networkservices.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/notebooks/v1alpha1/register.go b/pkg/clients/generated/apis/notebooks/v1alpha1/register.go index a723a5f330..67d7b36296 100644 --- a/pkg/clients/generated/apis/notebooks/v1alpha1/register.go +++ b/pkg/clients/generated/apis/notebooks/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "notebooks.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "notebooks.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/orgpolicy/v1alpha1/register.go b/pkg/clients/generated/apis/orgpolicy/v1alpha1/register.go index bfcd760fb1..dbc79c7978 100644 --- a/pkg/clients/generated/apis/orgpolicy/v1alpha1/register.go +++ b/pkg/clients/generated/apis/orgpolicy/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "orgpolicy.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "orgpolicy.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/osconfig/v1alpha1/register.go b/pkg/clients/generated/apis/osconfig/v1alpha1/register.go index 419df82237..c2159d327a 100644 --- a/pkg/clients/generated/apis/osconfig/v1alpha1/register.go +++ b/pkg/clients/generated/apis/osconfig/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "osconfig.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "osconfig.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/oslogin/v1alpha1/register.go b/pkg/clients/generated/apis/oslogin/v1alpha1/register.go index db6f28faa0..ce85016c71 100644 --- a/pkg/clients/generated/apis/oslogin/v1alpha1/register.go +++ b/pkg/clients/generated/apis/oslogin/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "oslogin.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "oslogin.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/pubsublite/v1alpha1/register.go b/pkg/clients/generated/apis/pubsublite/v1alpha1/register.go index fec5620d3c..d035e9aeca 100644 --- a/pkg/clients/generated/apis/pubsublite/v1alpha1/register.go +++ b/pkg/clients/generated/apis/pubsublite/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "pubsublite.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "pubsublite.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/securitycenter/v1alpha1/register.go b/pkg/clients/generated/apis/securitycenter/v1alpha1/register.go index c9d6bf28f6..635d83cbd9 100644 --- a/pkg/clients/generated/apis/securitycenter/v1alpha1/register.go +++ b/pkg/clients/generated/apis/securitycenter/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "securitycenter.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "securitycenter.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/serviceusage/v1alpha1/register.go b/pkg/clients/generated/apis/serviceusage/v1alpha1/register.go index 609b24bc46..101b795d5a 100644 --- a/pkg/clients/generated/apis/serviceusage/v1alpha1/register.go +++ b/pkg/clients/generated/apis/serviceusage/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "serviceusage.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "serviceusage.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/storage/v1alpha1/register.go b/pkg/clients/generated/apis/storage/v1alpha1/register.go index d2a4db95d1..937a7fe936 100644 --- a/pkg/clients/generated/apis/storage/v1alpha1/register.go +++ b/pkg/clients/generated/apis/storage/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "storage.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "storage.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/storagetransfer/v1alpha1/register.go b/pkg/clients/generated/apis/storagetransfer/v1alpha1/register.go index ca5b75d52e..5fdf045e1b 100644 --- a/pkg/clients/generated/apis/storagetransfer/v1alpha1/register.go +++ b/pkg/clients/generated/apis/storagetransfer/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "storagetransfer.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "storagetransfer.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/tags/v1alpha1/register.go b/pkg/clients/generated/apis/tags/v1alpha1/register.go index 094b7f1ea4..e1beb50187 100644 --- a/pkg/clients/generated/apis/tags/v1alpha1/register.go +++ b/pkg/clients/generated/apis/tags/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "tags.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "tags.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/tpu/v1alpha1/register.go b/pkg/clients/generated/apis/tpu/v1alpha1/register.go index 8b53e70408..35e763e78b 100644 --- a/pkg/clients/generated/apis/tpu/v1alpha1/register.go +++ b/pkg/clients/generated/apis/tpu/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "tpu.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "tpu.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/vertexai/v1alpha1/register.go b/pkg/clients/generated/apis/vertexai/v1alpha1/register.go index 230f1bedac..0cc8b491ca 100644 --- a/pkg/clients/generated/apis/vertexai/v1alpha1/register.go +++ b/pkg/clients/generated/apis/vertexai/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "vertexai.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "vertexai.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/workflows/v1alpha1/register.go b/pkg/clients/generated/apis/workflows/v1alpha1/register.go index cdc26c8a90..c487744c7f 100644 --- a/pkg/clients/generated/apis/workflows/v1alpha1/register.go +++ b/pkg/clients/generated/apis/workflows/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "workflows.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "workflows.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/clients/generated/apis/workstations/v1alpha1/register.go b/pkg/clients/generated/apis/workstations/v1alpha1/register.go index c9240cebc9..de369b8376 100644 --- a/pkg/clients/generated/apis/workstations/v1alpha1/register.go +++ b/pkg/clients/generated/apis/workstations/v1alpha1/register.go @@ -45,7 +45,7 @@ import ( var ( // SchemeGroupVersion is the group version used to register these objects. - SchemeGroupVersion = schema.GroupVersion{Group: "workstations.cnrm.cloud.google.com", Version: "v1beta1"} + SchemeGroupVersion = schema.GroupVersion{Group: "workstations.cnrm.cloud.google.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} From c239f90e992429f5276e291aaece81edca10e834 Mon Sep 17 00:00:00 2001 From: Gemma Hou Date: Wed, 7 Feb 2024 23:43:48 +0000 Subject: [PATCH 07/52] initial commit --- config/tests/samples/create/harness.go | 2 + mockgcp/mockcompute/nodegroupsv1.go | 170 ++++++++++ mockgcp/mockcompute/nodetemplatesv1.go | 110 +++++++ mockgcp/mockcompute/service.go | 16 +- .../v1beta1/computenodegroup/_http.log | 291 ++++++++++++++++++ .../v1beta1/computenodetemplate/_http.log | 143 +++++++++ tests/e2e/unified_test.go | 9 +- 7 files changed, 737 insertions(+), 4 deletions(-) create mode 100644 mockgcp/mockcompute/nodegroupsv1.go create mode 100644 mockgcp/mockcompute/nodetemplatesv1.go create mode 100644 pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log create mode 100644 pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index f9ebdc96e7..cc81d3d23c 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -411,6 +411,8 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured case schema.GroupKind{Group: "containerattached.cnrm.cloud.google.com", Kind: "ContainerAttachedCluster"}: case schema.GroupKind{Group: "compute.cnrm.cloud.google.com", Kind: "ComputeNetwork"}: + case schema.GroupKind{Group: "compute.cnrm.cloud.google.com", Kind: "ComputeNodeGroup"}: + case schema.GroupKind{Group: "compute.cnrm.cloud.google.com", Kind: "ComputeNodeTemplate"}: case schema.GroupKind{Group: "compute.cnrm.cloud.google.com", Kind: "ComputeSubnetwork"}: // ok diff --git a/mockgcp/mockcompute/nodegroupsv1.go b/mockgcp/mockcompute/nodegroupsv1.go new file mode 100644 index 0000000000..700f48e105 --- /dev/null +++ b/mockgcp/mockcompute/nodegroupsv1.go @@ -0,0 +1,170 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcompute + +import ( + "context" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/cloud/compute/v1" +) + +type NodeGroupsV1 struct { + *MockService + pb.UnimplementedNodeGroupsServer +} + +func (s *NodeGroupsV1) Get(ctx context.Context, req *pb.GetNodeGroupRequest) (*pb.NodeGroup, error) { + name, err := s.newNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroup()) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.NodeGroup{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *NodeGroupsV1) Insert(ctx context.Context, req *pb.InsertNodeGroupRequest) (*pb.Operation, error) { + name, err := s.newNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroupResource().GetName()) + if err != nil { + return nil, err + } + + fqn := name.String() + + id := s.generateID() + + obj := proto.Clone(req.GetNodeGroupResource()).(*pb.NodeGroup) + obj.SelfLink = PtrTo("https://compute.googleapis.com/compute/v1/" + name.String()) + obj.CreationTimestamp = PtrTo(s.nowString()) + obj.Id = &id + obj.Kind = PtrTo("compute#nodegroup") + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, status.Errorf(codes.Internal, "error creating node group: %v", err) + } + + return s.newLRO(ctx, name.Project.ID) +} + +func (s *NodeGroupsV1) Patch(ctx context.Context, req *pb.PatchNodeGroupRequest) (*pb.Operation, error) { + name, err := s.newNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroup()) + if err != nil { + return nil, err + } + + fqn := name.String() + obj := &pb.NodeGroup{} + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, status.Errorf(codes.Internal, "error updating node group: %v", err) + } + + return s.newLRO(ctx, name.Project.ID) +} + +func (s *NodeGroupsV1) Delete(ctx context.Context, req *pb.DeleteNodeGroupRequest) (*pb.Operation, error) { + name, err := s.newNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroup()) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.NodeGroup{} + if err := s.storage.Delete(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.newLRO(ctx, name.Project.ID) +} + +func (s *NodeGroupsV1) SetNodeTemplate(ctx context.Context, req *pb.SetNodeTemplateNodeGroupRequest) (*pb.Operation, error) { + name, err := s.newNodeTemplateNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroup(), req.GetNodeGroupsSetNodeTemplateRequestResource().GetNodeTemplate()) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.NodeGroup{} + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, status.Errorf(codes.Internal, "error set node template for node group: %v", err) + } + + return s.newLRO(ctx, name.Project.ID) +} + +type nodeGroupName struct { + Project *projects.ProjectData + Zone string + Name string +} + +type nodeTemplateNodeGroupName struct { + Project *projects.ProjectData + Zone string + NodeGroupName string + NodeTemplateName string +} + +func (n *nodeGroupName) String() string { + return "projects/" + n.Project.ID + "/zones/" + n.Zone + "/nodeGroups/" + n.Name +} + +func (n *nodeTemplateNodeGroupName) String() string { + return "projects/" + n.Project.ID + "/zones/" + n.Zone + "/nodeGroups/" + n.NodeGroupName + "/setNodeTemplate/" + n.NodeTemplateName +} + +// newNodeGroupName builds a normalized nodeGroupName from the constituent parts. +// The expected form is `projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}`. +func (s *MockService) newNodeGroupName(project string, zone string, name string) (*nodeGroupName, error) { + projectObj, err := s.projects.GetProjectByID(project) + if err != nil { + return nil, err + } + + return &nodeGroupName{ + Project: projectObj, + Zone: zone, + Name: name, + }, nil +} + +// newNodeGroupName builds a normalized nodeGroupName from the constituent parts. +// The expected form is `projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate/{nodeTemplate}`. +func (s *MockService) newNodeTemplateNodeGroupName(project string, zone string, nodeGroupName string, nodeTemplateName string) (*nodeTemplateNodeGroupName, error) { + projectObj, err := s.projects.GetProjectByID(project) + if err != nil { + return nil, err + } + + return &nodeTemplateNodeGroupName{ + Project: projectObj, + Zone: zone, + NodeGroupName: nodeGroupName, + NodeTemplateName: nodeTemplateName, + }, nil +} diff --git a/mockgcp/mockcompute/nodetemplatesv1.go b/mockgcp/mockcompute/nodetemplatesv1.go new file mode 100644 index 0000000000..d15c7ac145 --- /dev/null +++ b/mockgcp/mockcompute/nodetemplatesv1.go @@ -0,0 +1,110 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcompute + +import ( + "context" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/cloud/compute/v1" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +type NodeTemplatesV1 struct { + *MockService + pb.UnimplementedNodeTemplatesServer +} + +func (s *NodeTemplatesV1) Get(ctx context.Context, req *pb.GetNodeTemplateRequest) (*pb.NodeTemplate, error) { + name, err := s.newNodeTemplateName(req.GetProject(), req.GetRegion(), req.GetNodeTemplate()) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.NodeTemplate{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *NodeTemplatesV1) Insert(ctx context.Context, req *pb.InsertNodeTemplateRequest) (*pb.Operation, error) { + name, err := s.newNodeTemplateName(req.GetProject(), req.GetRegion(), req.GetNodeTemplateResource().GetName()) + if err != nil { + return nil, err + } + + fqn := name.String() + + id := s.generateID() + + obj := proto.Clone(req.GetNodeTemplateResource()).(*pb.NodeTemplate) + obj.SelfLink = PtrTo("https://compute.googleapis.com/compute/v1/" + name.String()) + obj.CreationTimestamp = PtrTo(s.nowString()) + obj.Id = &id + obj.Kind = PtrTo("compute#nodetemplate") + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, status.Errorf(codes.Internal, "error creating node template: %v", err) + } + + return s.newLRO(ctx, name.Project.ID) +} + +func (s *NodeTemplatesV1) Delete(ctx context.Context, req *pb.DeleteNodeTemplateRequest) (*pb.Operation, error) { + name, err := s.newNodeTemplateName(req.GetProject(), req.GetRegion(), req.GetNodeTemplate()) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.NodeTemplate{} + if err := s.storage.Delete(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.newLRO(ctx, name.Project.ID) +} + +type nodeTemplateName struct { + Project *projects.ProjectData + Region string + Name string +} + +func (n *nodeTemplateName) String() string { + return "projects/" + n.Project.ID + "/regions/" + n.Region + "/nodeTemplates/" + n.Name +} + +// newNodeTemplateName builds a normalized nodeTemplateName from the constituent parts. +// The expected form is `projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}`. +func (s *MockService) newNodeTemplateName(project string, region string, name string) (*nodeTemplateName, error) { + projectObj, err := s.projects.GetProjectByID(project) + if err != nil { + return nil, err + } + + return &nodeTemplateName{ + Project: projectObj, + Region: region, + Name: name, + }, nil +} diff --git a/mockgcp/mockcompute/service.go b/mockgcp/mockcompute/service.go index 2bfffb1c0c..b02d0a7f21 100644 --- a/mockgcp/mockcompute/service.go +++ b/mockgcp/mockcompute/service.go @@ -38,8 +38,10 @@ type MockService struct { projects projects.ProjectStore operations *operations.Operations - networksv1 *NetworksV1 - subnetsv1 *SubnetsV1 + networksv1 *NetworksV1 + nodegroupsv1 *NodeGroupsV1 + nodetemplatesv1 *NodeTemplatesV1 + subnetsv1 *SubnetsV1 } // New creates a MockService. @@ -51,6 +53,8 @@ func New(env *common.MockEnvironment, storage storage.Storage) *MockService { operations: operations.NewOperationsService(storage), } s.networksv1 = &NetworksV1{MockService: s} + s.nodegroupsv1 = &NodeGroupsV1{MockService: s} + s.nodetemplatesv1 = &NodeTemplatesV1{MockService: s} s.subnetsv1 = &SubnetsV1{MockService: s} return s } @@ -61,6 +65,8 @@ func (s *MockService) ExpectedHost() string { func (s *MockService) Register(grpcServer *grpc.Server) { pb.RegisterNetworksServer(grpcServer, s.networksv1) + pb.RegisterNodeGroupsServer(grpcServer, s.nodegroupsv1) + pb.RegisterNodeTemplatesServer(grpcServer, s.nodetemplatesv1) pb.RegisterSubnetworksServer(grpcServer, s.subnetsv1) } @@ -96,6 +102,12 @@ func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (ht if err := pb.RegisterNetworksHandler(ctx, mux, conn); err != nil { return nil, err } + if err := pb.RegisterNodeGroupsHandler(ctx, mux, conn); err != nil { + return nil, err + } + if err := pb.RegisterNodeTemplatesHandler(ctx, mux, conn); err != nil { + return nil, err + } if err := pb.RegisterSubnetworksHandler(ctx, mux, conn); err != nil { return nil, err } diff --git a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log new file mode 100644 index 0000000000..aa8b9afd30 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log @@ -0,0 +1,291 @@ +POST https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "cpuOvercommitType": "NONE", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "nodeTypeFlexibility": { + "cpus": "any", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1" +} + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "operation-1707517787800-99b5547e-4961-44de-8ad6-76dbd62840d2", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517787800-99b5547e-4961-44de-8ad6-76dbd62840d2", + "status": "DONE", + "warnings": [] +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-02-09T22:29:47.8Z", + "disks": [], + "id": "1707517787800358353", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "nodeTypeFlexibility": { + "cpus": "any", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-02-09T22:29:47.8Z", + "disks": [], + "id": "1707517787800358353", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "nodeTypeFlexibility": { + "cpus": "any", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +POST https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups?alt=json&initialNodeCount=1 +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "description": "A single sole-tenant node in the us-central1-b zone.", + "maintenancePolicy": "DEFAULT", + "name": "computenodegroup-${uniqueId}", + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", + "size": 1, + "zone": "projects/${projectId}/global/zones/us-central1-b" +} + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "operation-1707517790516-8ef521f9-8418-4b12-8d5e-08641d5e023b", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517790516-8ef521f9-8418-4b12-8d5e-08641d5e023b", + "status": "DONE", + "warnings": [] +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "creationTimestamp": "2024-02-09T22:29:50.516Z", + "description": "A single sole-tenant node in the us-central1-b zone.", + "id": "1707517790516025747", + "kind": "compute#nodegroup", + "maintenancePolicy": "DEFAULT", + "name": "computenodegroup-${uniqueId}", + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}", + "size": 1, + "zone": "projects/${projectId}/global/zones/us-central1-b" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "creationTimestamp": "2024-02-09T22:29:50.516Z", + "description": "A single sole-tenant node in the us-central1-b zone.", + "id": "1707517790516025747", + "kind": "compute#nodegroup", + "maintenancePolicy": "DEFAULT", + "name": "computenodegroup-${uniqueId}", + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}", + "size": 1, + "zone": "projects/${projectId}/global/zones/us-central1-b" +} + +--- + +POST https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}/setNodeTemplate?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "operation-1707517790546-9fdf5874-7556-4113-8e3d-4294beada097", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517790546-9fdf5874-7556-4113-8e3d-4294beada097", + "status": "DONE", + "warnings": [] +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "creationTimestamp": "2024-02-09T22:29:50.516Z", + "description": "A single sole-tenant node in the us-central1-b zone.", + "id": "1707517790516025747", + "kind": "compute#nodegroup", + "maintenancePolicy": "DEFAULT", + "name": "computenodegroup-${uniqueId}", + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}", + "size": 1, + "zone": "projects/${projectId}/global/zones/us-central1-b" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "creationTimestamp": "2024-02-09T22:29:50.516Z", + "description": "A single sole-tenant node in the us-central1-b zone.", + "id": "1707517790516025747", + "kind": "compute#nodegroup", + "maintenancePolicy": "DEFAULT", + "name": "computenodegroup-${uniqueId}", + "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}", + "size": 1, + "zone": "projects/${projectId}/global/zones/us-central1-b" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-02-09T22:29:47.8Z", + "disks": [], + "id": "1707517787800358353", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "nodeTypeFlexibility": { + "cpus": "any", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +DELETE https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "operation-1707517791061-a4404c06-c824-496a-a553-34c86e5bf5f9", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517791061-a4404c06-c824-496a-a553-34c86e5bf5f9", + "status": "DONE", + "warnings": [] +} + +--- + +DELETE https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "operation-1707517791062-9560dc85-77fc-4782-95bc-ba3d24b95a53", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517791062-9560dc85-77fc-4782-95bc-ba3d24b95a53", + "status": "DONE", + "warnings": [] +} diff --git a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log new file mode 100644 index 0000000000..18e60e9f81 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log @@ -0,0 +1,143 @@ +POST https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "cpuOvercommitType": "NONE", + "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true", + "memory_guarantee": "false" + }, + "nodeTypeFlexibility": { + "cpus": "96", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1" +} + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", + "status": "DONE", + "warnings": [] +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", + "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", + "disks": [], + "id": "1707779855744494373", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true", + "memory_guarantee": "false" + }, + "nodeTypeFlexibility": { + "cpus": "96", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", + "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", + "disks": [], + "id": "1707779855744494373", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true", + "memory_guarantee": "false" + }, + "nodeTypeFlexibility": { + "cpus": "96", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +GET https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "accelerators": [], + "cpuOvercommitType": "NONE", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", + "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", + "disks": [], + "id": "1707779855744494373", + "kind": "compute#nodetemplate", + "name": "computenodetemplate-${uniqueId}", + "nodeAffinityLabels": { + "cnrm-test": "true", + "managed-by-cnrm": "true", + "memory_guarantee": "false" + }, + "nodeTypeFlexibility": { + "cpus": "96", + "memory": "any" + }, + "region": "projects/${projectId}/global/regions/us-central1", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" +} + +--- + +DELETE https://compute.googleapis.com/compute/beta/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Content-Type: application/json +Grpc-Metadata-Content-Type: application/grpc + +{ + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", + "status": "DONE", + "warnings": [] +} \ No newline at end of file diff --git a/tests/e2e/unified_test.go b/tests/e2e/unified_test.go index b01aec7cf3..24c610c3c3 100644 --- a/tests/e2e/unified_test.go +++ b/tests/e2e/unified_test.go @@ -173,8 +173,12 @@ func TestAllInSeries(t *testing.T) { body := event.Response.ParseBody() val, ok := body["name"] if ok { - if strings.Contains(val.(string), "operations/") { + // operation name format: operations/operation-{operationId} + if strings.HasPrefix(val.(string), "operations/") { id = strings.TrimPrefix(val.(string), "operations/") + // operation name format: operation-{operationId} + } else if strings.HasPrefix(val.(string), "operation") { + id = val.(string) } } if id != "" { @@ -257,6 +261,7 @@ func TestAllInSeries(t *testing.T) { addReplacement("createTime", "2024-04-01T12:34:56.123456Z") addReplacement("response.createTime", "2024-04-01T12:34:56.123456Z") + addReplacement("creationTimestamp", "2024-04-01T12:34:56.123456Z") addReplacement("updateTime", "2024-04-01T12:34:56.123456Z") addReplacement("response.updateTime", "2024-04-01T12:34:56.123456Z") @@ -277,7 +282,7 @@ func TestAllInSeries(t *testing.T) { normalizers = append(normalizers, h.ReplaceString(k, v)) } for k := range operationIDs { - normalizers = append(normalizers, h.ReplaceString("operations/"+k, "operations/${operationId}")) + normalizers = append(normalizers, h.ReplaceString(k, "${operationId}")) } h.CompareGoldenFile(expectedPath, got, normalizers...) } From 9e6f73514e8364b7bea3f52680eb6ecd66bd9ab5 Mon Sep 17 00:00:00 2001 From: Gemma Hou Date: Tue, 13 Feb 2024 18:12:34 +0000 Subject: [PATCH 08/52] Remove implementation of SetNodeTemplate method --- mockgcp/mockcompute/nodegroupsv1.go | 49 +--------- mockgcp/mockcompute/nodetemplatesv1.go | 4 +- .../v1beta1/computenodegroup/_http.log | 98 +++++-------------- .../v1beta1/computenodetemplate/_http.log | 6 +- tests/e2e/unified_test.go | 1 + 5 files changed, 34 insertions(+), 124 deletions(-) diff --git a/mockgcp/mockcompute/nodegroupsv1.go b/mockgcp/mockcompute/nodegroupsv1.go index 700f48e105..05aa65613f 100644 --- a/mockgcp/mockcompute/nodegroupsv1.go +++ b/mockgcp/mockcompute/nodegroupsv1.go @@ -17,8 +17,6 @@ package mockcompute import ( "context" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" @@ -63,7 +61,7 @@ func (s *NodeGroupsV1) Insert(ctx context.Context, req *pb.InsertNodeGroupReques obj.Kind = PtrTo("compute#nodegroup") if err := s.storage.Create(ctx, fqn, obj); err != nil { - return nil, status.Errorf(codes.Internal, "error creating node group: %v", err) + return nil, err } return s.newLRO(ctx, name.Project.ID) @@ -79,7 +77,7 @@ func (s *NodeGroupsV1) Patch(ctx context.Context, req *pb.PatchNodeGroupRequest) obj := &pb.NodeGroup{} if err := s.storage.Update(ctx, fqn, obj); err != nil { - return nil, status.Errorf(codes.Internal, "error updating node group: %v", err) + return nil, err } return s.newLRO(ctx, name.Project.ID) @@ -101,43 +99,16 @@ func (s *NodeGroupsV1) Delete(ctx context.Context, req *pb.DeleteNodeGroupReques return s.newLRO(ctx, name.Project.ID) } -func (s *NodeGroupsV1) SetNodeTemplate(ctx context.Context, req *pb.SetNodeTemplateNodeGroupRequest) (*pb.Operation, error) { - name, err := s.newNodeTemplateNodeGroupName(req.GetProject(), req.GetZone(), req.GetNodeGroup(), req.GetNodeGroupsSetNodeTemplateRequestResource().GetNodeTemplate()) - if err != nil { - return nil, err - } - - fqn := name.String() - - obj := &pb.NodeGroup{} - if err := s.storage.Create(ctx, fqn, obj); err != nil { - return nil, status.Errorf(codes.Internal, "error set node template for node group: %v", err) - } - - return s.newLRO(ctx, name.Project.ID) -} - type nodeGroupName struct { Project *projects.ProjectData Zone string Name string } -type nodeTemplateNodeGroupName struct { - Project *projects.ProjectData - Zone string - NodeGroupName string - NodeTemplateName string -} - func (n *nodeGroupName) String() string { return "projects/" + n.Project.ID + "/zones/" + n.Zone + "/nodeGroups/" + n.Name } -func (n *nodeTemplateNodeGroupName) String() string { - return "projects/" + n.Project.ID + "/zones/" + n.Zone + "/nodeGroups/" + n.NodeGroupName + "/setNodeTemplate/" + n.NodeTemplateName -} - // newNodeGroupName builds a normalized nodeGroupName from the constituent parts. // The expected form is `projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}`. func (s *MockService) newNodeGroupName(project string, zone string, name string) (*nodeGroupName, error) { @@ -152,19 +123,3 @@ func (s *MockService) newNodeGroupName(project string, zone string, name string) Name: name, }, nil } - -// newNodeGroupName builds a normalized nodeGroupName from the constituent parts. -// The expected form is `projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate/{nodeTemplate}`. -func (s *MockService) newNodeTemplateNodeGroupName(project string, zone string, nodeGroupName string, nodeTemplateName string) (*nodeTemplateNodeGroupName, error) { - projectObj, err := s.projects.GetProjectByID(project) - if err != nil { - return nil, err - } - - return &nodeTemplateNodeGroupName{ - Project: projectObj, - Zone: zone, - NodeGroupName: nodeGroupName, - NodeTemplateName: nodeTemplateName, - }, nil -} diff --git a/mockgcp/mockcompute/nodetemplatesv1.go b/mockgcp/mockcompute/nodetemplatesv1.go index d15c7ac145..022866d89e 100644 --- a/mockgcp/mockcompute/nodetemplatesv1.go +++ b/mockgcp/mockcompute/nodetemplatesv1.go @@ -19,8 +19,6 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/cloud/compute/v1" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" ) @@ -62,7 +60,7 @@ func (s *NodeTemplatesV1) Insert(ctx context.Context, req *pb.InsertNodeTemplate obj.Kind = PtrTo("compute#nodetemplate") if err := s.storage.Create(ctx, fqn, obj); err != nil { - return nil, status.Errorf(codes.Internal, "error creating node template: %v", err) + return nil, err } return s.newLRO(ctx, name.Project.ID) diff --git a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log index aa8b9afd30..cba7b013b3 100644 --- a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log +++ b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodegroup/_http.log @@ -21,8 +21,8 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "name": "operation-1707517787800-99b5547e-4961-44de-8ad6-76dbd62840d2", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517787800-99b5547e-4961-44de-8ad6-76dbd62840d2", + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", "status": "DONE", "warnings": [] } @@ -40,9 +40,9 @@ Grpc-Metadata-Content-Type: application/grpc { "accelerators": [], "cpuOvercommitType": "NONE", - "creationTimestamp": "2024-02-09T22:29:47.8Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "disks": [], - "id": "1707517787800358353", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { @@ -54,7 +54,7 @@ Grpc-Metadata-Content-Type: application/grpc "memory": "any" }, "region": "projects/${projectId}/global/regions/us-central1", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" } --- @@ -70,9 +70,9 @@ Grpc-Metadata-Content-Type: application/grpc { "accelerators": [], "cpuOvercommitType": "NONE", - "creationTimestamp": "2024-02-09T22:29:47.8Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "disks": [], - "id": "1707517787800358353", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { @@ -84,7 +84,7 @@ Grpc-Metadata-Content-Type: application/grpc "memory": "any" }, "region": "projects/${projectId}/global/regions/us-central1", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" } --- @@ -107,8 +107,8 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "name": "operation-1707517790516-8ef521f9-8418-4b12-8d5e-08641d5e023b", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517790516-8ef521f9-8418-4b12-8d5e-08641d5e023b", + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", "status": "DONE", "warnings": [] } @@ -124,9 +124,9 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "creationTimestamp": "2024-02-09T22:29:50.516Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "A single sole-tenant node in the us-central1-b zone.", - "id": "1707517790516025747", + "id": "000000000000000000000", "kind": "compute#nodegroup", "maintenancePolicy": "DEFAULT", "name": "computenodegroup-${uniqueId}", @@ -147,9 +147,9 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "creationTimestamp": "2024-02-09T22:29:50.516Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "A single sole-tenant node in the us-central1-b zone.", - "id": "1707517790516025747", + "id": "000000000000000000000", "kind": "compute#nodegroup", "maintenancePolicy": "DEFAULT", "name": "computenodegroup-${uniqueId}", @@ -161,27 +161,6 @@ Grpc-Metadata-Content-Type: application/grpc --- -POST https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}/setNodeTemplate?alt=json -Content-Type: application/json -User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev - -{ - "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" -} - -200 OK -Content-Type: application/json -Grpc-Metadata-Content-Type: application/grpc - -{ - "name": "operation-1707517790546-9fdf5874-7556-4113-8e3d-4294beada097", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517790546-9fdf5874-7556-4113-8e3d-4294beada097", - "status": "DONE", - "warnings": [] -} - ---- - GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json Content-Type: application/json User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev @@ -191,9 +170,9 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "creationTimestamp": "2024-02-09T22:29:50.516Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "A single sole-tenant node in the us-central1-b zone.", - "id": "1707517790516025747", + "id": "000000000000000000000", "kind": "compute#nodegroup", "maintenancePolicy": "DEFAULT", "name": "computenodegroup-${uniqueId}", @@ -205,7 +184,7 @@ Grpc-Metadata-Content-Type: application/grpc --- -GET https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json +DELETE https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json Content-Type: application/json User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev @@ -214,16 +193,10 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "creationTimestamp": "2024-02-09T22:29:50.516Z", - "description": "A single sole-tenant node in the us-central1-b zone.", - "id": "1707517790516025747", - "kind": "compute#nodegroup", - "maintenancePolicy": "DEFAULT", - "name": "computenodegroup-${uniqueId}", - "nodeTemplate": "projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}", - "size": 1, - "zone": "projects/${projectId}/global/zones/us-central1-b" + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", + "status": "DONE", + "warnings": [] } --- @@ -239,9 +212,9 @@ Grpc-Metadata-Content-Type: application/grpc { "accelerators": [], "cpuOvercommitType": "NONE", - "creationTimestamp": "2024-02-09T22:29:47.8Z", + "creationTimestamp": "2024-04-01T12:34:56.123456Z", "disks": [], - "id": "1707517787800358353", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { @@ -253,24 +226,7 @@ Grpc-Metadata-Content-Type: application/grpc "memory": "any" }, "region": "projects/${projectId}/global/regions/us-central1", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" -} - ---- - -DELETE https://compute.googleapis.com/compute/beta/projects/${projectId}/zones/us-central1-b/nodeGroups/computenodegroup-${uniqueId}?alt=json -Content-Type: application/json -User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev - -200 OK -Content-Type: application/json -Grpc-Metadata-Content-Type: application/grpc - -{ - "name": "operation-1707517791061-a4404c06-c824-496a-a553-34c86e5bf5f9", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517791061-a4404c06-c824-496a-a553-34c86e5bf5f9", - "status": "DONE", - "warnings": [] + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/regions/us-central1/nodeTemplates/computenodetemplate-${uniqueId}" } --- @@ -284,8 +240,8 @@ Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc { - "name": "operation-1707517791062-9560dc85-77fc-4782-95bc-ba3d24b95a53", - "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/operation-1707517791062-9560dc85-77fc-4782-95bc-ba3d24b95a53", + "name": "${operationId}", + "selfLink": "https://compute.googleapis.com/compute/v1/projects/${projectId}/global/operations/${operationId}", "status": "DONE", "warnings": [] -} +} \ No newline at end of file diff --git a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log index 18e60e9f81..d1e07b02ba 100644 --- a/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log +++ b/pkg/test/resourcefixture/testdata/basic/compute/v1beta1/computenodetemplate/_http.log @@ -45,7 +45,7 @@ Grpc-Metadata-Content-Type: application/grpc "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", "disks": [], - "id": "1707779855744494373", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { @@ -77,7 +77,7 @@ Grpc-Metadata-Content-Type: application/grpc "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", "disks": [], - "id": "1707779855744494373", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { @@ -109,7 +109,7 @@ Grpc-Metadata-Content-Type: application/grpc "creationTimestamp": "2024-04-01T12:34:56.123456Z", "description": "Node template for sole tenant nodes running in us-central1, with 96vCPUs and any amount of memory on any machine type.", "disks": [], - "id": "1707779855744494373", + "id": "000000000000000000000", "kind": "compute#nodetemplate", "name": "computenodetemplate-${uniqueId}", "nodeAffinityLabels": { diff --git a/tests/e2e/unified_test.go b/tests/e2e/unified_test.go index 24c610c3c3..2710d909ef 100644 --- a/tests/e2e/unified_test.go +++ b/tests/e2e/unified_test.go @@ -252,6 +252,7 @@ func TestAllInSeries(t *testing.T) { }) } + addReplacement("id", "000000000000000000000") addReplacement("uniqueId", "111111111111111111111") addReplacement("oauth2ClientId", "888888888888888888888") From 59d83f36761b725b842dd5438cc045f28cff6a89 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Wed, 14 Feb 2024 00:35:01 +0000 Subject: [PATCH 09/52] Add instructions for v1alpha1 to v1beta1 promotion --- README.NewResourceFromTerraform.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.NewResourceFromTerraform.md b/README.NewResourceFromTerraform.md index 3a8805a897..e21f9ba21e 100644 --- a/README.NewResourceFromTerraform.md +++ b/README.NewResourceFromTerraform.md @@ -236,6 +236,14 @@ ServiceMappings file. Add the `ResourceConfig` for your resource: 1. Fill out the `resourceAvailableInAssetInventory`. Set to false. +1. If you are adding a resource that is already supported in v1alpha1, specify + the following fields + ([example](https://github.com/GoogleCloudPlatform/k8s-config-connector/blob/8ba13a0c1e0563e0e6f9a9f6eeb8a693f9c73acf/config/servicemappings/certificatemanager.yaml#L30-L31)): + 1. Set `v1alpha1ToV1beta1` to `true`. + 1. Set `storageVersion` to `v1alpha1`. + +1. Ensure the `autoGenerated` field is unset. + 1. Add `hierarchicalReferences` if they exist. Determine if the corresonding Terraform resource exposes one or more parent resources through top-level fields. These fields can have names like `org_id`, `parent_org_id`, From e9964f575936113c913ec187ce754547845305ea Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Wed, 14 Feb 2024 00:57:10 +0000 Subject: [PATCH 10/52] Move the instructions up --- README.NewResourceFromTerraform.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.NewResourceFromTerraform.md b/README.NewResourceFromTerraform.md index e21f9ba21e..54c6827a97 100644 --- a/README.NewResourceFromTerraform.md +++ b/README.NewResourceFromTerraform.md @@ -174,6 +174,14 @@ ServiceMappings file. Add the `ResourceConfig` for your resource: similar resources, and the comments in [pkg/apis/core/v1alpha1/servicemapping_types.go](pkg/apis/core/v1alpha1/servicemapping_types.go). +1. If you are adding a resource that is already supported in v1alpha1, specify + the following fields + ([example](https://github.com/GoogleCloudPlatform/k8s-config-connector/blob/8ba13a0c1e0563e0e6f9a9f6eeb8a693f9c73acf/config/servicemappings/certificatemanager.yaml#L30-L31)): + 1. Set `v1alpha1ToV1beta1` to `true`. + 1. Set `storageVersion` to `v1alpha1`. + +1. Ensure the `autoGenerated` field is unset. + 1. Add `resourceID` if the resource has the resource ID. The value of `targetField` should be the field name of the user-specified resource ID field (value of `metadataMapping.name`) or the field name of the @@ -236,14 +244,6 @@ ServiceMappings file. Add the `ResourceConfig` for your resource: 1. Fill out the `resourceAvailableInAssetInventory`. Set to false. -1. If you are adding a resource that is already supported in v1alpha1, specify - the following fields - ([example](https://github.com/GoogleCloudPlatform/k8s-config-connector/blob/8ba13a0c1e0563e0e6f9a9f6eeb8a693f9c73acf/config/servicemappings/certificatemanager.yaml#L30-L31)): - 1. Set `v1alpha1ToV1beta1` to `true`. - 1. Set `storageVersion` to `v1alpha1`. - -1. Ensure the `autoGenerated` field is unset. - 1. Add `hierarchicalReferences` if they exist. Determine if the corresonding Terraform resource exposes one or more parent resources through top-level fields. These fields can have names like `org_id`, `parent_org_id`, From 0a2a4468c307de0446bfc151d9c188a6436d8c59 Mon Sep 17 00:00:00 2001 From: justinsb Date: Thu, 23 Nov 2023 10:32:22 -0500 Subject: [PATCH 11/52] mockgcp: initial support for StorageBucket A little unusual because we don't have the v1 service proto (though we have the request/response definitions) --- config/tests/samples/create/harness.go | 2 + mockgcp/Makefile | 2 + mockgcp/apis/mockgcp/storage/v1/README.md | 5 + mockgcp/apis/mockgcp/storage/v1/service.proto | 63 + mockgcp/fixup-third-party.sh | 11 +- .../cloud/functions/v1/functions.pb.go | 2 +- .../mockgcp/storage/v1/service.pb.go | 144 + .../mockgcp/storage/v1/service.pb.gw.go | 552 ++ .../mockgcp/storage/v1/service_grpc.pb.go | 222 + .../mockgcp/storage/v1/storage.pb.go | 8644 +++++++++++++++++ .../storage/v1/storage_resources.pb.go | 4612 +++++++++ mockgcp/mock_http_roundtrip.go | 2 + mockgcp/mockstorage/service.go | 71 + mockgcp/mockstorage/v1.go | 91 + mockgcp/pkg/storage/memory.go | 4 +- 15 files changed, 14420 insertions(+), 7 deletions(-) create mode 100644 mockgcp/apis/mockgcp/storage/v1/README.md create mode 100644 mockgcp/apis/mockgcp/storage/v1/service.proto create mode 100644 mockgcp/generated/mockgcp/storage/v1/service.pb.go create mode 100644 mockgcp/generated/mockgcp/storage/v1/service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/storage/v1/service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/storage/v1/storage.pb.go create mode 100644 mockgcp/generated/mockgcp/storage/v1/storage_resources.pb.go create mode 100644 mockgcp/mockstorage/service.go create mode 100644 mockgcp/mockstorage/v1.go diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index d7ba0a53ce..2d76a74fb9 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -443,6 +443,8 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured case schema.GroupKind{Group: "serviceusage.cnrm.cloud.google.com", Kind: "Service"}: case schema.GroupKind{Group: "serviceusage.cnrm.cloud.google.com", Kind: "ServiceIdentity"}: + case schema.GroupKind{Group: "storage.cnrm.cloud.google.com", Kind: "StorageBucket"}: + case schema.GroupKind{Group: "tags.cnrm.cloud.google.com", Kind: "TagsTagKey"}: default: diff --git a/mockgcp/Makefile b/mockgcp/Makefile index f5c17d066f..b2b40319fe 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -26,7 +26,9 @@ gen-proto: --grpc-gateway_opt paths=source_relative \ --experimental_allow_proto3_optional \ ./apis/mockgcp/cloud/resourcemanager/v1/*.proto \ + ./apis/mockgcp/storage/v1/*.proto \ ./third_party/googleapis/mockgcp/api/apikeys/v2/*.proto \ + ./third_party/googleapis/mockgcp/storage/v1/*.proto \ ./third_party/googleapis/mockgcp/iam/admin/v1/*.proto \ ./third_party/googleapis/mockgcp/cloud/billing/v1/*.proto \ ./third_party/googleapis/mockgcp/cloud/certificatemanager/v1/*.proto \ diff --git a/mockgcp/apis/mockgcp/storage/v1/README.md b/mockgcp/apis/mockgcp/storage/v1/README.md new file mode 100644 index 0000000000..0855054309 --- /dev/null +++ b/mockgcp/apis/mockgcp/storage/v1/README.md @@ -0,0 +1,5 @@ +This is a modified version of the v1 API, to add the service definition. + +service.proto is written by hand, though we have a version in the v2 API to work from. + +storage_resources.proto and storage.proto are referenced from third_party/googleapis/google/storage/v1/ diff --git a/mockgcp/apis/mockgcp/storage/v1/service.proto b/mockgcp/apis/mockgcp/storage/v1/service.proto new file mode 100644 index 0000000000..da6cf005e8 --- /dev/null +++ b/mockgcp/apis/mockgcp/storage/v1/service.proto @@ -0,0 +1,63 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package mockgcp.storage.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; + +import "google/protobuf/empty.proto"; + +import "mockgcp/storage/v1/storage.proto"; +import "mockgcp/storage/v1/storage_resources.proto"; + +option go_package = "google.golang.org/genproto/googleapis/storage/v1;storage"; + +service Storage { + option (google.api.default_host) = "storage.googleapis.com"; + + // Returns metadata for the specified bucket. + rpc GetBucket(GetBucketRequest) returns (Bucket) { + option (google.api.http) = { + get: "/storage/v1/b/{bucket}" + }; + } + + // Creates a new bucket. + rpc InsertBucket(InsertBucketRequest) returns (Bucket) { + option (google.api.http) = { + post: "/storage/v1/b", + body: "bucket" + }; + } + + // Permanently deletes an empty bucket. + rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/storage/v1/b/{bucket}" + }; + } + + // Updates a bucket. + rpc PatchBucket(PatchBucketRequest) returns (Bucket) { + option (google.api.http) = { + patch: "/storage/v1/b/{bucket}" + }; + } + +} diff --git a/mockgcp/fixup-third-party.sh b/mockgcp/fixup-third-party.sh index 5eb62edb84..7aaf2c57db 100755 --- a/mockgcp/fixup-third-party.sh +++ b/mockgcp/fixup-third-party.sh @@ -25,19 +25,24 @@ rm -rf mockgcp/ && mkdir -p mockgcp/api/ mv google/cloud/ mockgcp/ mv google/iam/ mockgcp/ +mv google/storage/ mockgcp/ mv google/api/apikeys/ mockgcp/api/ mv google/api/serviceusage/ mockgcp/api/ cd mockgcp +# Rewrite import paths. +find . -type f -print0 | xargs -0 sed -i -e "s@google/cloud/@mockgcp/cloud/@g" +find . -type f -print0 | xargs -0 sed -i -e "s@google\.cloud@mockgcp.cloud@g" + find . -type f -print0 | xargs -0 sed -i -e "s@google/iam/@mockgcp/iam/@g" find . -type f -print0 | xargs -0 sed -i -e "s@google\.iam@mockgcp.iam@g" +find . -type f -print0 | xargs -0 sed -i -e "s@google/storage/@mockgcp/storage/@g" +find . -type f -print0 | xargs -0 sed -i -e "s@google\.storage@mockgcp.storage@g" + find . -type f -print0 | xargs -0 sed -i -e "s@google/api/apikeys/@mockgcp/api/apikeys/@g" find . -type f -print0 | xargs -0 sed -i -e "s@google\.api\.apikeys@mockgcp.api.apikeys@g" find . -type f -print0 | xargs -0 sed -i -e "s@google/api/serviceusage/@mockgcp/api/serviceusage/@g" find . -type f -print0 | xargs -0 sed -i -e "s@google\.api\.serviceusage@mockgcp.api.serviceusage@g" - -find . -type f -print0 | xargs -0 sed -i -e "s@google/cloud/@mockgcp/cloud/@g" -find . -type f -print0 | xargs -0 sed -i -e "s@google\.cloud@mockgcp.cloud@g" diff --git a/mockgcp/generated/mockgcp/cloud/functions/v1/functions.pb.go b/mockgcp/generated/mockgcp/cloud/functions/v1/functions.pb.go index 507b59ceb1..acce64a65b 100644 --- a/mockgcp/generated/mockgcp/cloud/functions/v1/functions.pb.go +++ b/mockgcp/generated/mockgcp/cloud/functions/v1/functions.pb.go @@ -1072,7 +1072,7 @@ type EventTrigger struct { // // If no string is provided, the default service implementing the API will // be used. For example, `storage.googleapis.com` is the default for all - // event types in the `google.storage` namespace. + // event types in the `mockgcp.storage` namespace. Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` // Specifies policy for failed executions. FailurePolicy *FailurePolicy `protobuf:"bytes,5,opt,name=failure_policy,json=failurePolicy,proto3" json:"failure_policy,omitempty"` diff --git a/mockgcp/generated/mockgcp/storage/v1/service.pb.go b/mockgcp/generated/mockgcp/storage/v1/service.pb.go new file mode 100644 index 0000000000..516a2caf5f --- /dev/null +++ b/mockgcp/generated/mockgcp/storage/v1/service.pb.go @@ -0,0 +1,144 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/storage/v1/service.proto + +package storage + +import ( + empty "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +var File_mockgcp_storage_v1_service_proto protoreflect.FileDescriptor + +var file_mockgcp_storage_v1_service_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x12, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 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, 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, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 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, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xeb, 0x03, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x12, 0x6d, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x24, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, + 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, + 0x72, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x0d, 0x2f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x3a, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x6f, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 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, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x2f, 0x7b, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x7d, 0x12, 0x71, 0x0a, 0x0b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x32, + 0x16, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x2f, 0x7b, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x1a, 0x19, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x42, 0x3a, 0x5a, 0x38, 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, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_mockgcp_storage_v1_service_proto_goTypes = []interface{}{ + (*GetBucketRequest)(nil), // 0: mockgcp.storage.v1.GetBucketRequest + (*InsertBucketRequest)(nil), // 1: mockgcp.storage.v1.InsertBucketRequest + (*DeleteBucketRequest)(nil), // 2: mockgcp.storage.v1.DeleteBucketRequest + (*PatchBucketRequest)(nil), // 3: mockgcp.storage.v1.PatchBucketRequest + (*Bucket)(nil), // 4: mockgcp.storage.v1.Bucket + (*empty.Empty)(nil), // 5: google.protobuf.Empty +} +var file_mockgcp_storage_v1_service_proto_depIdxs = []int32{ + 0, // 0: mockgcp.storage.v1.Storage.GetBucket:input_type -> mockgcp.storage.v1.GetBucketRequest + 1, // 1: mockgcp.storage.v1.Storage.InsertBucket:input_type -> mockgcp.storage.v1.InsertBucketRequest + 2, // 2: mockgcp.storage.v1.Storage.DeleteBucket:input_type -> mockgcp.storage.v1.DeleteBucketRequest + 3, // 3: mockgcp.storage.v1.Storage.PatchBucket:input_type -> mockgcp.storage.v1.PatchBucketRequest + 4, // 4: mockgcp.storage.v1.Storage.GetBucket:output_type -> mockgcp.storage.v1.Bucket + 4, // 5: mockgcp.storage.v1.Storage.InsertBucket:output_type -> mockgcp.storage.v1.Bucket + 5, // 6: mockgcp.storage.v1.Storage.DeleteBucket:output_type -> google.protobuf.Empty + 4, // 7: mockgcp.storage.v1.Storage.PatchBucket:output_type -> mockgcp.storage.v1.Bucket + 4, // [4:8] is the sub-list for method output_type + 0, // [0:4] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_storage_v1_service_proto_init() } +func file_mockgcp_storage_v1_service_proto_init() { + if File_mockgcp_storage_v1_service_proto != nil { + return + } + file_mockgcp_storage_v1_storage_proto_init() + file_mockgcp_storage_v1_storage_resources_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_storage_v1_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_storage_v1_service_proto_goTypes, + DependencyIndexes: file_mockgcp_storage_v1_service_proto_depIdxs, + }.Build() + File_mockgcp_storage_v1_service_proto = out.File + file_mockgcp_storage_v1_service_proto_rawDesc = nil + file_mockgcp_storage_v1_service_proto_goTypes = nil + file_mockgcp_storage_v1_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/storage/v1/service.pb.gw.go b/mockgcp/generated/mockgcp/storage/v1/service.pb.gw.go new file mode 100644 index 0000000000..802c698dc0 --- /dev/null +++ b/mockgcp/generated/mockgcp/storage/v1/service.pb.gw.go @@ -0,0 +1,552 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/storage/v1/service.proto + +/* +Package storage is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package storage + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_Storage_GetBucket_0 = &utilities.DoubleArray{Encoding: map[string]int{"bucket": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Storage_GetBucket_0(ctx context.Context, marshaler runtime.Marshaler, client StorageClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_GetBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetBucket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Storage_GetBucket_0(ctx context.Context, marshaler runtime.Marshaler, server StorageServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_GetBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetBucket(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Storage_InsertBucket_0 = &utilities.DoubleArray{Encoding: map[string]int{"bucket": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Storage_InsertBucket_0(ctx context.Context, marshaler runtime.Marshaler, client StorageClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq InsertBucketRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Bucket); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_InsertBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.InsertBucket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Storage_InsertBucket_0(ctx context.Context, marshaler runtime.Marshaler, server StorageServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq InsertBucketRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Bucket); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_InsertBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.InsertBucket(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Storage_DeleteBucket_0 = &utilities.DoubleArray{Encoding: map[string]int{"bucket": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Storage_DeleteBucket_0(ctx context.Context, marshaler runtime.Marshaler, client StorageClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_DeleteBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteBucket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Storage_DeleteBucket_0(ctx context.Context, marshaler runtime.Marshaler, server StorageServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_DeleteBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteBucket(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Storage_PatchBucket_0 = &utilities.DoubleArray{Encoding: map[string]int{"bucket": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Storage_PatchBucket_0(ctx context.Context, marshaler runtime.Marshaler, client StorageClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_PatchBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PatchBucket(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Storage_PatchBucket_0(ctx context.Context, marshaler runtime.Marshaler, server StorageServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchBucketRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["bucket"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "bucket") + } + + protoReq.Bucket, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "bucket", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Storage_PatchBucket_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PatchBucket(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterStorageHandlerServer registers the http handlers for service Storage to "mux". +// UnaryRPC :call StorageServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterStorageHandlerFromEndpoint instead. +func RegisterStorageHandlerServer(ctx context.Context, mux *runtime.ServeMux, server StorageServer) error { + + mux.Handle("GET", pattern_Storage_GetBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/GetBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Storage_GetBucket_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_GetBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Storage_InsertBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/InsertBucket", runtime.WithHTTPPathPattern("/storage/v1/b")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Storage_InsertBucket_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_InsertBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Storage_DeleteBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/DeleteBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Storage_DeleteBucket_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_DeleteBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Storage_PatchBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/PatchBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Storage_PatchBucket_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_PatchBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterStorageHandlerFromEndpoint is same as RegisterStorageHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterStorageHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterStorageHandler(ctx, mux, conn) +} + +// RegisterStorageHandler registers the http handlers for service Storage to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterStorageHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterStorageHandlerClient(ctx, mux, NewStorageClient(conn)) +} + +// RegisterStorageHandlerClient registers the http handlers for service Storage +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "StorageClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "StorageClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "StorageClient" to call the correct interceptors. +func RegisterStorageHandlerClient(ctx context.Context, mux *runtime.ServeMux, client StorageClient) error { + + mux.Handle("GET", pattern_Storage_GetBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/GetBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Storage_GetBucket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_GetBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Storage_InsertBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/InsertBucket", runtime.WithHTTPPathPattern("/storage/v1/b")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Storage_InsertBucket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_InsertBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Storage_DeleteBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/DeleteBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Storage_DeleteBucket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_DeleteBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Storage_PatchBucket_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.storage.v1.Storage/PatchBucket", runtime.WithHTTPPathPattern("/storage/v1/b/{bucket}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Storage_PatchBucket_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Storage_PatchBucket_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Storage_GetBucket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"storage", "v1", "b", "bucket"}, "")) + + pattern_Storage_InsertBucket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"storage", "v1", "b"}, "")) + + pattern_Storage_DeleteBucket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"storage", "v1", "b", "bucket"}, "")) + + pattern_Storage_PatchBucket_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"storage", "v1", "b", "bucket"}, "")) +) + +var ( + forward_Storage_GetBucket_0 = runtime.ForwardResponseMessage + + forward_Storage_InsertBucket_0 = runtime.ForwardResponseMessage + + forward_Storage_DeleteBucket_0 = runtime.ForwardResponseMessage + + forward_Storage_PatchBucket_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/storage/v1/service_grpc.pb.go b/mockgcp/generated/mockgcp/storage/v1/service_grpc.pb.go new file mode 100644 index 0000000000..0d74be103b --- /dev/null +++ b/mockgcp/generated/mockgcp/storage/v1/service_grpc.pb.go @@ -0,0 +1,222 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/storage/v1/service.proto + +package storage + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// StorageClient is the client API for Storage service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type StorageClient interface { + // Returns metadata for the specified bucket. + GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error) + // Creates a new bucket. + InsertBucket(ctx context.Context, in *InsertBucketRequest, opts ...grpc.CallOption) (*Bucket, error) + // Permanently deletes an empty bucket. + DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Updates a bucket. + PatchBucket(ctx context.Context, in *PatchBucketRequest, opts ...grpc.CallOption) (*Bucket, error) +} + +type storageClient struct { + cc grpc.ClientConnInterface +} + +func NewStorageClient(cc grpc.ClientConnInterface) StorageClient { + return &storageClient{cc} +} + +func (c *storageClient) GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error) { + out := new(Bucket) + err := c.cc.Invoke(ctx, "/mockgcp.storage.v1.Storage/GetBucket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storageClient) InsertBucket(ctx context.Context, in *InsertBucketRequest, opts ...grpc.CallOption) (*Bucket, error) { + out := new(Bucket) + err := c.cc.Invoke(ctx, "/mockgcp.storage.v1.Storage/InsertBucket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storageClient) DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.storage.v1.Storage/DeleteBucket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *storageClient) PatchBucket(ctx context.Context, in *PatchBucketRequest, opts ...grpc.CallOption) (*Bucket, error) { + out := new(Bucket) + err := c.cc.Invoke(ctx, "/mockgcp.storage.v1.Storage/PatchBucket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// StorageServer is the server API for Storage service. +// All implementations must embed UnimplementedStorageServer +// for forward compatibility +type StorageServer interface { + // Returns metadata for the specified bucket. + GetBucket(context.Context, *GetBucketRequest) (*Bucket, error) + // Creates a new bucket. + InsertBucket(context.Context, *InsertBucketRequest) (*Bucket, error) + // Permanently deletes an empty bucket. + DeleteBucket(context.Context, *DeleteBucketRequest) (*empty.Empty, error) + // Updates a bucket. + PatchBucket(context.Context, *PatchBucketRequest) (*Bucket, error) + mustEmbedUnimplementedStorageServer() +} + +// UnimplementedStorageServer must be embedded to have forward compatible implementations. +type UnimplementedStorageServer struct { +} + +func (UnimplementedStorageServer) GetBucket(context.Context, *GetBucketRequest) (*Bucket, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBucket not implemented") +} +func (UnimplementedStorageServer) InsertBucket(context.Context, *InsertBucketRequest) (*Bucket, error) { + return nil, status.Errorf(codes.Unimplemented, "method InsertBucket not implemented") +} +func (UnimplementedStorageServer) DeleteBucket(context.Context, *DeleteBucketRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteBucket not implemented") +} +func (UnimplementedStorageServer) PatchBucket(context.Context, *PatchBucketRequest) (*Bucket, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchBucket not implemented") +} +func (UnimplementedStorageServer) mustEmbedUnimplementedStorageServer() {} + +// UnsafeStorageServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to StorageServer will +// result in compilation errors. +type UnsafeStorageServer interface { + mustEmbedUnimplementedStorageServer() +} + +func RegisterStorageServer(s grpc.ServiceRegistrar, srv StorageServer) { + s.RegisterService(&Storage_ServiceDesc, srv) +} + +func _Storage_GetBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageServer).GetBucket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.storage.v1.Storage/GetBucket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageServer).GetBucket(ctx, req.(*GetBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Storage_InsertBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InsertBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageServer).InsertBucket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.storage.v1.Storage/InsertBucket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageServer).InsertBucket(ctx, req.(*InsertBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Storage_DeleteBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageServer).DeleteBucket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.storage.v1.Storage/DeleteBucket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageServer).DeleteBucket(ctx, req.(*DeleteBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Storage_PatchBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StorageServer).PatchBucket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.storage.v1.Storage/PatchBucket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StorageServer).PatchBucket(ctx, req.(*PatchBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Storage_ServiceDesc is the grpc.ServiceDesc for Storage service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Storage_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.storage.v1.Storage", + HandlerType: (*StorageServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetBucket", + Handler: _Storage_GetBucket_Handler, + }, + { + MethodName: "InsertBucket", + Handler: _Storage_InsertBucket_Handler, + }, + { + MethodName: "DeleteBucket", + Handler: _Storage_DeleteBucket_Handler, + }, + { + MethodName: "PatchBucket", + Handler: _Storage_PatchBucket_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/storage/v1/service.proto", +} diff --git a/mockgcp/generated/mockgcp/storage/v1/storage.pb.go b/mockgcp/generated/mockgcp/storage/v1/storage.pb.go new file mode 100644 index 0000000000..d397c425cd --- /dev/null +++ b/mockgcp/generated/mockgcp/storage/v1/storage.pb.go @@ -0,0 +1,8644 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/storage/v1/storage.proto + +package storage + +import ( + iampb "cloud.google.com/go/iam/apiv1/iampb" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for DeleteBucketAccessControl. +type DeleteBucketAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteBucketAccessControlRequest) Reset() { + *x = DeleteBucketAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBucketAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBucketAccessControlRequest) ProtoMessage() {} + +func (x *DeleteBucketAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[0] + 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 DeleteBucketAccessControlRequest.ProtoReflect.Descriptor instead. +func (*DeleteBucketAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{0} +} + +func (x *DeleteBucketAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteBucketAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *DeleteBucketAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetBucketAccessControl. +type GetBucketAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetBucketAccessControlRequest) Reset() { + *x = GetBucketAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBucketAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBucketAccessControlRequest) ProtoMessage() {} + +func (x *GetBucketAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[1] + 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 GetBucketAccessControlRequest.ProtoReflect.Descriptor instead. +func (*GetBucketAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{1} +} + +func (x *GetBucketAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetBucketAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *GetBucketAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for InsertBucketAccessControl. +type InsertBucketAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Properties of the new bucket access control being inserted. + BucketAccessControl *BucketAccessControl `protobuf:"bytes,3,opt,name=bucket_access_control,json=bucketAccessControl,proto3" json:"bucket_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertBucketAccessControlRequest) Reset() { + *x = InsertBucketAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertBucketAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertBucketAccessControlRequest) ProtoMessage() {} + +func (x *InsertBucketAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_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 InsertBucketAccessControlRequest.ProtoReflect.Descriptor instead. +func (*InsertBucketAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{2} +} + +func (x *InsertBucketAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *InsertBucketAccessControlRequest) GetBucketAccessControl() *BucketAccessControl { + if x != nil { + return x.BucketAccessControl + } + return nil +} + +func (x *InsertBucketAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListBucketAccessControl. +type ListBucketAccessControlsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListBucketAccessControlsRequest) Reset() { + *x = ListBucketAccessControlsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBucketAccessControlsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBucketAccessControlsRequest) ProtoMessage() {} + +func (x *ListBucketAccessControlsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[3] + 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 ListBucketAccessControlsRequest.ProtoReflect.Descriptor instead. +func (*ListBucketAccessControlsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{3} +} + +func (x *ListBucketAccessControlsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListBucketAccessControlsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request for PatchBucketAccessControl. +type PatchBucketAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // The BucketAccessControl for updating. + BucketAccessControl *BucketAccessControl `protobuf:"bytes,4,opt,name=bucket_access_control,json=bucketAccessControl,proto3" json:"bucket_access_control,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *PatchBucketAccessControlRequest) Reset() { + *x = PatchBucketAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchBucketAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchBucketAccessControlRequest) ProtoMessage() {} + +func (x *PatchBucketAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[4] + 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 PatchBucketAccessControlRequest.ProtoReflect.Descriptor instead. +func (*PatchBucketAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{4} +} + +func (x *PatchBucketAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *PatchBucketAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *PatchBucketAccessControlRequest) GetBucketAccessControl() *BucketAccessControl { + if x != nil { + return x.BucketAccessControl + } + return nil +} + +func (x *PatchBucketAccessControlRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *PatchBucketAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request for UpdateBucketAccessControl. +type UpdateBucketAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // The BucketAccessControl for updating. + BucketAccessControl *BucketAccessControl `protobuf:"bytes,4,opt,name=bucket_access_control,json=bucketAccessControl,proto3" json:"bucket_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *UpdateBucketAccessControlRequest) Reset() { + *x = UpdateBucketAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateBucketAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateBucketAccessControlRequest) ProtoMessage() {} + +func (x *UpdateBucketAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[5] + 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 UpdateBucketAccessControlRequest.ProtoReflect.Descriptor instead. +func (*UpdateBucketAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateBucketAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *UpdateBucketAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *UpdateBucketAccessControlRequest) GetBucketAccessControl() *BucketAccessControl { + if x != nil { + return x.BucketAccessControl + } + return nil +} + +func (x *UpdateBucketAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for DeleteBucket. +type DeleteBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // If set, only deletes the bucket if its metageneration matches this value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // If set, only deletes the bucket if its metageneration does not match this + // value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteBucketRequest) Reset() { + *x = DeleteBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBucketRequest) ProtoMessage() {} + +func (x *DeleteBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_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 DeleteBucketRequest.ProtoReflect.Descriptor instead. +func (*DeleteBucketRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteBucketRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteBucketRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *DeleteBucketRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *DeleteBucketRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetBucket. +type GetBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`. + Projection CommonEnums_Projection `protobuf:"varint,4,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetBucketRequest) Reset() { + *x = GetBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBucketRequest) ProtoMessage() {} + +func (x *GetBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[7] + 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 GetBucketRequest.ProtoReflect.Descriptor instead. +func (*GetBucketRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{7} +} + +func (x *GetBucketRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetBucketRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *GetBucketRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *GetBucketRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *GetBucketRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for InsertBucket. +type InsertBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Apply a predefined set of access controls to this bucket. + PredefinedAcl CommonEnums_PredefinedBucketAcl `protobuf:"varint,1,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedBucketAcl" json:"predefined_acl,omitempty"` + // Apply a predefined set of default object access controls to this bucket. + PredefinedDefaultObjectAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,2,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_default_object_acl,omitempty"` + // Required. A valid API project identifier. + Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`, unless the + // bucket resource specifies `acl` or `defaultObjectAcl` + // properties, when it defaults to `FULL`. + Projection CommonEnums_Projection `protobuf:"varint,4,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // Properties of the new bucket being inserted, including its name. + Bucket *Bucket `protobuf:"bytes,6,opt,name=bucket,proto3" json:"bucket,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,7,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertBucketRequest) Reset() { + *x = InsertBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertBucketRequest) ProtoMessage() {} + +func (x *InsertBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_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 InsertBucketRequest.ProtoReflect.Descriptor instead. +func (*InsertBucketRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{8} +} + +func (x *InsertBucketRequest) GetPredefinedAcl() CommonEnums_PredefinedBucketAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_BUCKET_ACL_UNSPECIFIED +} + +func (x *InsertBucketRequest) GetPredefinedDefaultObjectAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedDefaultObjectAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *InsertBucketRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *InsertBucketRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *InsertBucketRequest) GetBucket() *Bucket { + if x != nil { + return x.Bucket + } + return nil +} + +func (x *InsertBucketRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListChannels. +type ListChannelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListChannelsRequest) Reset() { + *x = ListChannelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListChannelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChannelsRequest) ProtoMessage() {} + +func (x *ListChannelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[9] + 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 ListChannelsRequest.ProtoReflect.Descriptor instead. +func (*ListChannelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{9} +} + +func (x *ListChannelsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListChannelsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListBuckets. +type ListBucketsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum number of buckets to return in a single response. The service will + // use this parameter or 1,000 items, whichever is smaller. + MaxResults int32 `protobuf:"varint,1,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` + // A previously-returned page token representing part of the larger set of + // results to view. + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter results to buckets whose names begin with this prefix. + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + // Required. A valid API project identifier. + Project string `protobuf:"bytes,4,opt,name=project,proto3" json:"project,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`. + Projection CommonEnums_Projection `protobuf:"varint,5,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,7,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListBucketsRequest) Reset() { + *x = ListBucketsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBucketsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBucketsRequest) ProtoMessage() {} + +func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[10] + 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 ListBucketsRequest.ProtoReflect.Descriptor instead. +func (*ListBucketsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{10} +} + +func (x *ListBucketsRequest) GetMaxResults() int32 { + if x != nil { + return x.MaxResults + } + return 0 +} + +func (x *ListBucketsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListBucketsRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *ListBucketsRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ListBucketsRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *ListBucketsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for LockRetentionPolicy. +type LockRetentionPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Makes the operation conditional on whether bucket's current metageneration + // matches the given value. Must be positive. + IfMetagenerationMatch int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *LockRetentionPolicyRequest) Reset() { + *x = LockRetentionPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LockRetentionPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LockRetentionPolicyRequest) ProtoMessage() {} + +func (x *LockRetentionPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[11] + 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 LockRetentionPolicyRequest.ProtoReflect.Descriptor instead. +func (*LockRetentionPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{11} +} + +func (x *LockRetentionPolicyRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *LockRetentionPolicyRequest) GetIfMetagenerationMatch() int64 { + if x != nil { + return x.IfMetagenerationMatch + } + return 0 +} + +func (x *LockRetentionPolicyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request for PatchBucket method. +type PatchBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Apply a predefined set of access controls to this bucket. + PredefinedAcl CommonEnums_PredefinedBucketAcl `protobuf:"varint,4,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedBucketAcl" json:"predefined_acl,omitempty"` + // Apply a predefined set of default object access controls to this bucket. + PredefinedDefaultObjectAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,5,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_default_object_acl,omitempty"` + // Set of properties to return. Defaults to `FULL`. + Projection CommonEnums_Projection `protobuf:"varint,6,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // The Bucket metadata for updating. + Metadata *Bucket `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. Note: not recommended. If a new + // field is introduced at a later time, an older client updating with the `*` + // may accidentally reset the new field's value. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,9,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,10,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *PatchBucketRequest) Reset() { + *x = PatchBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchBucketRequest) ProtoMessage() {} + +func (x *PatchBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[12] + 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 PatchBucketRequest.ProtoReflect.Descriptor instead. +func (*PatchBucketRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{12} +} + +func (x *PatchBucketRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *PatchBucketRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *PatchBucketRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *PatchBucketRequest) GetPredefinedAcl() CommonEnums_PredefinedBucketAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_BUCKET_ACL_UNSPECIFIED +} + +func (x *PatchBucketRequest) GetPredefinedDefaultObjectAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedDefaultObjectAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *PatchBucketRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *PatchBucketRequest) GetMetadata() *Bucket { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *PatchBucketRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *PatchBucketRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request for UpdateBucket method. +type UpdateBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the return of the bucket metadata conditional on whether the bucket's + // current metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Apply a predefined set of access controls to this bucket. + PredefinedAcl CommonEnums_PredefinedBucketAcl `protobuf:"varint,4,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedBucketAcl" json:"predefined_acl,omitempty"` + // Apply a predefined set of default object access controls to this bucket. + PredefinedDefaultObjectAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,5,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_default_object_acl,omitempty"` + // Set of properties to return. Defaults to `FULL`. + Projection CommonEnums_Projection `protobuf:"varint,6,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // The Bucket metadata for updating. + Metadata *Bucket `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *UpdateBucketRequest) Reset() { + *x = UpdateBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateBucketRequest) ProtoMessage() {} + +func (x *UpdateBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[13] + 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 UpdateBucketRequest.ProtoReflect.Descriptor instead. +func (*UpdateBucketRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateBucketRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *UpdateBucketRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *UpdateBucketRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *UpdateBucketRequest) GetPredefinedAcl() CommonEnums_PredefinedBucketAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_BUCKET_ACL_UNSPECIFIED +} + +func (x *UpdateBucketRequest) GetPredefinedDefaultObjectAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedDefaultObjectAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *UpdateBucketRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *UpdateBucketRequest) GetMetadata() *Bucket { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *UpdateBucketRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for StopChannel. +type StopChannelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The channel to be stopped. + Channel *Channel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *StopChannelRequest) Reset() { + *x = StopChannelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopChannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopChannelRequest) ProtoMessage() {} + +func (x *StopChannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[14] + 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 StopChannelRequest.ProtoReflect.Descriptor instead. +func (*StopChannelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{14} +} + +func (x *StopChannelRequest) GetChannel() *Channel { + if x != nil { + return x.Channel + } + return nil +} + +func (x *StopChannelRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for DeleteDefaultObjectAccessControl. +type DeleteDefaultObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteDefaultObjectAccessControlRequest) Reset() { + *x = DeleteDefaultObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDefaultObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDefaultObjectAccessControlRequest) ProtoMessage() {} + +func (x *DeleteDefaultObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_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 DeleteDefaultObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*DeleteDefaultObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteDefaultObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteDefaultObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *DeleteDefaultObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetDefaultObjectAccessControl. +type GetDefaultObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetDefaultObjectAccessControlRequest) Reset() { + *x = GetDefaultObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDefaultObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDefaultObjectAccessControlRequest) ProtoMessage() {} + +func (x *GetDefaultObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[16] + 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 GetDefaultObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*GetDefaultObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{16} +} + +func (x *GetDefaultObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetDefaultObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *GetDefaultObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for InsertDefaultObjectAccessControl. +type InsertDefaultObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Properties of the object access control being inserted. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,3,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertDefaultObjectAccessControlRequest) Reset() { + *x = InsertDefaultObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertDefaultObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertDefaultObjectAccessControlRequest) ProtoMessage() {} + +func (x *InsertDefaultObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[17] + 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 InsertDefaultObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*InsertDefaultObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{17} +} + +func (x *InsertDefaultObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *InsertDefaultObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *InsertDefaultObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListDefaultObjectAccessControls. +type ListDefaultObjectAccessControlsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // If present, only return default ACL listing if the bucket's current + // metageneration matches this value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // If present, only return default ACL listing if the bucket's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListDefaultObjectAccessControlsRequest) Reset() { + *x = ListDefaultObjectAccessControlsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDefaultObjectAccessControlsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDefaultObjectAccessControlsRequest) ProtoMessage() {} + +func (x *ListDefaultObjectAccessControlsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[18] + 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 ListDefaultObjectAccessControlsRequest.ProtoReflect.Descriptor instead. +func (*ListDefaultObjectAccessControlsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{18} +} + +func (x *ListDefaultObjectAccessControlsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListDefaultObjectAccessControlsRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *ListDefaultObjectAccessControlsRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *ListDefaultObjectAccessControlsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for PatchDefaultObjectAccessControl. +type PatchDefaultObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // The ObjectAccessControl for updating. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,4,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. Note: not recommended. If a new + // field is introduced at a later time, an older client updating with the `*` + // may accidentally reset the new field's value. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *PatchDefaultObjectAccessControlRequest) Reset() { + *x = PatchDefaultObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchDefaultObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchDefaultObjectAccessControlRequest) ProtoMessage() {} + +func (x *PatchDefaultObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[19] + 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 PatchDefaultObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*PatchDefaultObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{19} +} + +func (x *PatchDefaultObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *PatchDefaultObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *PatchDefaultObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *PatchDefaultObjectAccessControlRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *PatchDefaultObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for UpdateDefaultObjectAccessControl. +type UpdateDefaultObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // The ObjectAccessControl for updating. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,4,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *UpdateDefaultObjectAccessControlRequest) Reset() { + *x = UpdateDefaultObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDefaultObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDefaultObjectAccessControlRequest) ProtoMessage() {} + +func (x *UpdateDefaultObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[20] + 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 UpdateDefaultObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*UpdateDefaultObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateDefaultObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *UpdateDefaultObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *UpdateDefaultObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *UpdateDefaultObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for DeleteNotification. +type DeleteNotificationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent bucket of the notification. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. ID of the notification to delete. + Notification string `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteNotificationRequest) Reset() { + *x = DeleteNotificationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotificationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotificationRequest) ProtoMessage() {} + +func (x *DeleteNotificationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[21] + 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 DeleteNotificationRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotificationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{21} +} + +func (x *DeleteNotificationRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteNotificationRequest) GetNotification() string { + if x != nil { + return x.Notification + } + return "" +} + +func (x *DeleteNotificationRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetNotification. +type GetNotificationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent bucket of the notification. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Notification ID. + // Required. + Notification string `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetNotificationRequest) Reset() { + *x = GetNotificationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotificationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationRequest) ProtoMessage() {} + +func (x *GetNotificationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[22] + 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 GetNotificationRequest.ProtoReflect.Descriptor instead. +func (*GetNotificationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{22} +} + +func (x *GetNotificationRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetNotificationRequest) GetNotification() string { + if x != nil { + return x.Notification + } + return "" +} + +func (x *GetNotificationRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for InsertNotification. +type InsertNotificationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent bucket of the notification. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Properties of the notification to be inserted. + Notification *Notification `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertNotificationRequest) Reset() { + *x = InsertNotificationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertNotificationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertNotificationRequest) ProtoMessage() {} + +func (x *InsertNotificationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[23] + 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 InsertNotificationRequest.ProtoReflect.Descriptor instead. +func (*InsertNotificationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{23} +} + +func (x *InsertNotificationRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *InsertNotificationRequest) GetNotification() *Notification { + if x != nil { + return x.Notification + } + return nil +} + +func (x *InsertNotificationRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListNotifications. +type ListNotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a Google Cloud Storage bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListNotificationsRequest) Reset() { + *x = ListNotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotificationsRequest) ProtoMessage() {} + +func (x *ListNotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[24] + 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 ListNotificationsRequest.ProtoReflect.Descriptor instead. +func (*ListNotificationsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{24} +} + +func (x *ListNotificationsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListNotificationsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for DeleteObjectAccessControl. +type DeleteObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteObjectAccessControlRequest) Reset() { + *x = DeleteObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteObjectAccessControlRequest) ProtoMessage() {} + +func (x *DeleteObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[25] + 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 DeleteObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*DeleteObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{25} +} + +func (x *DeleteObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *DeleteObjectAccessControlRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *DeleteObjectAccessControlRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *DeleteObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetObjectAccessControl. +type GetObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetObjectAccessControlRequest) Reset() { + *x = GetObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetObjectAccessControlRequest) ProtoMessage() {} + +func (x *GetObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[26] + 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 GetObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*GetObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{26} +} + +func (x *GetObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *GetObjectAccessControlRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *GetObjectAccessControlRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *GetObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for InsertObjectAccessControl. +type InsertObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // Properties of the object access control to be inserted. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,5,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertObjectAccessControlRequest) Reset() { + *x = InsertObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertObjectAccessControlRequest) ProtoMessage() {} + +func (x *InsertObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[27] + 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 InsertObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*InsertObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{27} +} + +func (x *InsertObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *InsertObjectAccessControlRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *InsertObjectAccessControlRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *InsertObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *InsertObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for ListObjectAccessControls. +type ListObjectAccessControlsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListObjectAccessControlsRequest) Reset() { + *x = ListObjectAccessControlsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListObjectAccessControlsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListObjectAccessControlsRequest) ProtoMessage() {} + +func (x *ListObjectAccessControlsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[28] + 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 ListObjectAccessControlsRequest.ProtoReflect.Descriptor instead. +func (*ListObjectAccessControlsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{28} +} + +func (x *ListObjectAccessControlsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListObjectAccessControlsRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *ListObjectAccessControlsRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *ListObjectAccessControlsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for PatchObjectAccessControl. +type PatchObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // Required. Name of the object. + // Required. + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` + // The ObjectAccessControl for updating. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,5,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. Note: not recommended. If a new + // field is introduced at a later time, an older client updating with the `*` + // may accidentally reset the new field's value. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,7,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *PatchObjectAccessControlRequest) Reset() { + *x = PatchObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchObjectAccessControlRequest) ProtoMessage() {} + +func (x *PatchObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[29] + 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 PatchObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*PatchObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{29} +} + +func (x *PatchObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *PatchObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *PatchObjectAccessControlRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *PatchObjectAccessControlRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *PatchObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *PatchObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +func (x *PatchObjectAccessControlRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for UpdateObjectAccessControl. +type UpdateObjectAccessControlRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of a bucket. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The entity holding the permission. Can be one of: + // * `user-`*userId* + // * `user-`*emailAddress* + // * `group-`*groupId* + // * `group-`*emailAddress* + // * `allUsers` + // * `allAuthenticatedUsers` + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // Required. Name of the object. + // Required. + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` + // The ObjectAccessControl for updating. + ObjectAccessControl *ObjectAccessControl `protobuf:"bytes,6,opt,name=object_access_control,json=objectAccessControl,proto3" json:"object_access_control,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,7,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. Note: not recommended. If a new + // field is introduced at a later time, an older client updating with the `*` + // may accidentally reset the new field's value. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,8,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateObjectAccessControlRequest) Reset() { + *x = UpdateObjectAccessControlRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateObjectAccessControlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateObjectAccessControlRequest) ProtoMessage() {} + +func (x *UpdateObjectAccessControlRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[30] + 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 UpdateObjectAccessControlRequest.ProtoReflect.Descriptor instead. +func (*UpdateObjectAccessControlRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{30} +} + +func (x *UpdateObjectAccessControlRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *UpdateObjectAccessControlRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *UpdateObjectAccessControlRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *UpdateObjectAccessControlRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *UpdateObjectAccessControlRequest) GetObjectAccessControl() *ObjectAccessControl { + if x != nil { + return x.ObjectAccessControl + } + return nil +} + +func (x *UpdateObjectAccessControlRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +func (x *UpdateObjectAccessControlRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for ComposeObject. +type ComposeObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket containing the source objects. The destination object is + // stored in this bucket. + DestinationBucket string `protobuf:"bytes,1,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"` + // Required. Name of the new object. + DestinationObject string `protobuf:"bytes,2,opt,name=destination_object,json=destinationObject,proto3" json:"destination_object,omitempty"` + // Apply a predefined set of access controls to the destination object. + DestinationPredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,3,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"destination_predefined_acl,omitempty"` + // Properties of the resulting object. + Destination *Object `protobuf:"bytes,11,opt,name=destination,proto3" json:"destination,omitempty"` + // The list of source objects that will be concatenated into a single object. + SourceObjects []*ComposeObjectRequest_SourceObjects `protobuf:"bytes,12,rep,name=source_objects,json=sourceObjects,proto3" json:"source_objects,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Resource name of the Cloud KMS key, of the form + // `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`, + // that will be used to encrypt the object. Overrides the object + // metadata's `kms_key_name` value, if any. + KmsKeyName string `protobuf:"bytes,6,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,9,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,10,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ComposeObjectRequest) Reset() { + *x = ComposeObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComposeObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComposeObjectRequest) ProtoMessage() {} + +func (x *ComposeObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[31] + 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 ComposeObjectRequest.ProtoReflect.Descriptor instead. +func (*ComposeObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{31} +} + +func (x *ComposeObjectRequest) GetDestinationBucket() string { + if x != nil { + return x.DestinationBucket + } + return "" +} + +func (x *ComposeObjectRequest) GetDestinationObject() string { + if x != nil { + return x.DestinationObject + } + return "" +} + +func (x *ComposeObjectRequest) GetDestinationPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.DestinationPredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *ComposeObjectRequest) GetDestination() *Object { + if x != nil { + return x.Destination + } + return nil +} + +func (x *ComposeObjectRequest) GetSourceObjects() []*ComposeObjectRequest_SourceObjects { + if x != nil { + return x.SourceObjects + } + return nil +} + +func (x *ComposeObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *ComposeObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *ComposeObjectRequest) GetKmsKeyName() string { + if x != nil { + return x.KmsKeyName + } + return "" +} + +func (x *ComposeObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *ComposeObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for CopyObject. +type CopyObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which to store the new object. Overrides the provided + // object + // metadata's `bucket` value, if any. + DestinationBucket string `protobuf:"bytes,1,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"` + // Required. Name of the new object. + // Required when the object metadata is not otherwise provided. Overrides the + // object metadata's `name` value, if any. + DestinationObject string `protobuf:"bytes,2,opt,name=destination_object,json=destinationObject,proto3" json:"destination_object,omitempty"` + // Apply a predefined set of access controls to the destination object. + DestinationPredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,3,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"destination_predefined_acl,omitempty"` + // Makes the operation conditional on whether the destination object's current + // generation matches the given value. Setting to 0 makes the operation + // succeed only if there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the destination object's current + // generation does not match the given value. If no live object exists, the + // precondition fails. Setting to 0 makes the operation succeed only if there + // is a live version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the destination object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the destination object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // generation matches the given value. + IfSourceGenerationMatch *wrappers.Int64Value `protobuf:"bytes,8,opt,name=if_source_generation_match,json=ifSourceGenerationMatch,proto3" json:"if_source_generation_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // generation does not match the given value. + IfSourceGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,9,opt,name=if_source_generation_not_match,json=ifSourceGenerationNotMatch,proto3" json:"if_source_generation_not_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // metageneration matches the given value. + IfSourceMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,10,opt,name=if_source_metageneration_match,json=ifSourceMetagenerationMatch,proto3" json:"if_source_metageneration_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // metageneration does not match the given value. + IfSourceMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,11,opt,name=if_source_metageneration_not_match,json=ifSourceMetagenerationNotMatch,proto3" json:"if_source_metageneration_not_match,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`, unless the + // object resource specifies the `acl` property, when it defaults + // to `full`. + Projection CommonEnums_Projection `protobuf:"varint,12,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // Required. Name of the bucket in which to find the source object. + SourceBucket string `protobuf:"bytes,13,opt,name=source_bucket,json=sourceBucket,proto3" json:"source_bucket,omitempty"` + // Required. Name of the source object. + SourceObject string `protobuf:"bytes,14,opt,name=source_object,json=sourceObject,proto3" json:"source_object,omitempty"` + // If present, selects a specific revision of the source object (as opposed to + // the latest version, the default). + SourceGeneration int64 `protobuf:"varint,15,opt,name=source_generation,json=sourceGeneration,proto3" json:"source_generation,omitempty"` + // Properties of the resulting object. If not set, duplicate properties of + // source object. + Destination *Object `protobuf:"bytes,17,opt,name=destination,proto3" json:"destination,omitempty"` + // Resource name of the Cloud KMS key, of the form + // `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`, + // that will be used to encrypt the object. Overrides the object + // metadata's `kms_key_name` value, if any. + DestinationKmsKeyName string `protobuf:"bytes,20,opt,name=destination_kms_key_name,json=destinationKmsKeyName,proto3" json:"destination_kms_key_name,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,18,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,19,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *CopyObjectRequest) Reset() { + *x = CopyObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CopyObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CopyObjectRequest) ProtoMessage() {} + +func (x *CopyObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[32] + 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 CopyObjectRequest.ProtoReflect.Descriptor instead. +func (*CopyObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{32} +} + +func (x *CopyObjectRequest) GetDestinationBucket() string { + if x != nil { + return x.DestinationBucket + } + return "" +} + +func (x *CopyObjectRequest) GetDestinationObject() string { + if x != nil { + return x.DestinationObject + } + return "" +} + +func (x *CopyObjectRequest) GetDestinationPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.DestinationPredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *CopyObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfSourceGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceGenerationMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfSourceGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceGenerationNotMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfSourceMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceMetagenerationMatch + } + return nil +} + +func (x *CopyObjectRequest) GetIfSourceMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceMetagenerationNotMatch + } + return nil +} + +func (x *CopyObjectRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *CopyObjectRequest) GetSourceBucket() string { + if x != nil { + return x.SourceBucket + } + return "" +} + +func (x *CopyObjectRequest) GetSourceObject() string { + if x != nil { + return x.SourceObject + } + return "" +} + +func (x *CopyObjectRequest) GetSourceGeneration() int64 { + if x != nil { + return x.SourceGeneration + } + return 0 +} + +func (x *CopyObjectRequest) GetDestination() *Object { + if x != nil { + return x.Destination + } + return nil +} + +func (x *CopyObjectRequest) GetDestinationKmsKeyName() string { + if x != nil { + return x.DestinationKmsKeyName + } + return "" +} + +func (x *CopyObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *CopyObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Message for deleting an object. +// Either `bucket` and `object` *or* `upload_id` **must** be set (but not both). +type DeleteObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which the object resides. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. The name of the object to delete (when not using a resumable write). + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // The resumable upload_id of the object to delete (when using a + // resumable write). This should be copied from the `upload_id` field of + // `StartResumableWriteResponse`. + UploadId string `protobuf:"bytes,3,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"` + // If present, permanently deletes a specific revision of this object (as + // opposed to the latest version, the default). + Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,8,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteObjectRequest) Reset() { + *x = DeleteObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteObjectRequest) ProtoMessage() {} + +func (x *DeleteObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[33] + 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 DeleteObjectRequest.ProtoReflect.Descriptor instead. +func (*DeleteObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{33} +} + +func (x *DeleteObjectRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *DeleteObjectRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *DeleteObjectRequest) GetUploadId() string { + if x != nil { + return x.UploadId + } + return "" +} + +func (x *DeleteObjectRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *DeleteObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *DeleteObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *DeleteObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *DeleteObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *DeleteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *DeleteObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetObjectMedia. +type GetObjectMediaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the bucket containing the object to read. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // The name of the object to read. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed + // to the latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // The offset for the first byte to return in the read, relative to the start + // of the object. + // + // A negative `read_offset` value will be interpreted as the number of bytes + // back from the end of the object to be returned. For example, if an object's + // length is 15 bytes, a GetObjectMediaRequest with `read_offset` = -5 and + // `read_limit` = 3 would return bytes 10 through 12 of the object. Requesting + // a negative offset whose magnitude is larger than the size of the object + // will result in an error. + ReadOffset int64 `protobuf:"varint,4,opt,name=read_offset,json=readOffset,proto3" json:"read_offset,omitempty"` + // The maximum number of `data` bytes the server is allowed to return in the + // sum of all `Object` messages. A `read_limit` of zero indicates that there + // is no limit, and a negative `read_limit` will cause an error. + // + // If the stream returns fewer bytes than allowed by the `read_limit` and no + // error occurred, the stream includes all data from the `read_offset` to the + // end of the resource. + ReadLimit int64 `protobuf:"varint,5,opt,name=read_limit,json=readLimit,proto3" json:"read_limit,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,8,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,9,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,11,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,12,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetObjectMediaRequest) Reset() { + *x = GetObjectMediaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetObjectMediaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetObjectMediaRequest) ProtoMessage() {} + +func (x *GetObjectMediaRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[34] + 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 GetObjectMediaRequest.ProtoReflect.Descriptor instead. +func (*GetObjectMediaRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{34} +} + +func (x *GetObjectMediaRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetObjectMediaRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *GetObjectMediaRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *GetObjectMediaRequest) GetReadOffset() int64 { + if x != nil { + return x.ReadOffset + } + return 0 +} + +func (x *GetObjectMediaRequest) GetReadLimit() int64 { + if x != nil { + return x.ReadLimit + } + return 0 +} + +func (x *GetObjectMediaRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *GetObjectMediaRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *GetObjectMediaRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *GetObjectMediaRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *GetObjectMediaRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *GetObjectMediaRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetObject. +type GetObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which the object resides. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`. + Projection CommonEnums_Projection `protobuf:"varint,8,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetObjectRequest) Reset() { + *x = GetObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetObjectRequest) ProtoMessage() {} + +func (x *GetObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[35] + 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 GetObjectRequest.ProtoReflect.Descriptor instead. +func (*GetObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{35} +} + +func (x *GetObjectRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *GetObjectRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *GetObjectRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *GetObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *GetObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *GetObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *GetObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *GetObjectRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *GetObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *GetObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Response message for GetObject. +type GetObjectMediaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A portion of the data for the object. The service **may** leave `data` + // empty for any given `ReadResponse`. This enables the service to inform the + // client that the request is still live while it is running an operation to + // generate more data. + ChecksummedData *ChecksummedData `protobuf:"bytes,1,opt,name=checksummed_data,json=checksummedData,proto3" json:"checksummed_data,omitempty"` + // The checksums of the complete object. The client should compute one of + // these checksums over the downloaded object and compare it against the value + // provided here. + ObjectChecksums *ObjectChecksums `protobuf:"bytes,2,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"` + // If read_offset and or read_limit was specified on the + // GetObjectMediaRequest, ContentRange will be populated on the first + // GetObjectMediaResponse message of the read stream. + ContentRange *ContentRange `protobuf:"bytes,3,opt,name=content_range,json=contentRange,proto3" json:"content_range,omitempty"` + // Metadata of the object whose media is being returned. + // Only populated in the first response in the stream. + Metadata *Object `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *GetObjectMediaResponse) Reset() { + *x = GetObjectMediaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetObjectMediaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetObjectMediaResponse) ProtoMessage() {} + +func (x *GetObjectMediaResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[36] + 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 GetObjectMediaResponse.ProtoReflect.Descriptor instead. +func (*GetObjectMediaResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{36} +} + +func (x *GetObjectMediaResponse) GetChecksummedData() *ChecksummedData { + if x != nil { + return x.ChecksummedData + } + return nil +} + +func (x *GetObjectMediaResponse) GetObjectChecksums() *ObjectChecksums { + if x != nil { + return x.ObjectChecksums + } + return nil +} + +func (x *GetObjectMediaResponse) GetContentRange() *ContentRange { + if x != nil { + return x.ContentRange + } + return nil +} + +func (x *GetObjectMediaResponse) GetMetadata() *Object { + if x != nil { + return x.Metadata + } + return nil +} + +// Describes an attempt to insert an object, possibly over multiple requests. +type InsertObjectSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destination object, including its name and its metadata. + Resource *Object `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` + // Apply a predefined set of access controls to this object. + PredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,2,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_acl,omitempty"` + // Makes the operation conditional on whether the object's current + // generation matches the given value. Setting to 0 makes the operation + // succeed only if there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,3,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current + // generation does not match the given value. If no live object exists, the + // precondition fails. Setting to 0 makes the operation succeed only if + // there is a live version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`, unless the + // object resource specifies the `acl` property, when it defaults + // to `full`. + Projection CommonEnums_Projection `protobuf:"varint,7,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` +} + +func (x *InsertObjectSpec) Reset() { + *x = InsertObjectSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertObjectSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertObjectSpec) ProtoMessage() {} + +func (x *InsertObjectSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[37] + 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 InsertObjectSpec.ProtoReflect.Descriptor instead. +func (*InsertObjectSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{37} +} + +func (x *InsertObjectSpec) GetResource() *Object { + if x != nil { + return x.Resource + } + return nil +} + +func (x *InsertObjectSpec) GetPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *InsertObjectSpec) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *InsertObjectSpec) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *InsertObjectSpec) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *InsertObjectSpec) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *InsertObjectSpec) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +// Message for writing an object. +type InsertObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The first message of each stream should set one of the following. + // + // Types that are assignable to FirstMessage: + // + // *InsertObjectRequest_UploadId + // *InsertObjectRequest_InsertObjectSpec + FirstMessage isInsertObjectRequest_FirstMessage `protobuf_oneof:"first_message"` + // Required. The offset from the beginning of the object at which the data should be + // written. + // + // In the first `InsertObjectRequest` of a `InsertObject()` action, it + // indicates the initial offset for the `Insert()` call. The value **must** be + // equal to the `committed_size` that a call to `QueryWriteStatus()` would + // return (0 if this is the first write to the object). + // + // On subsequent calls, this value **must** be no larger than the sum of the + // first `write_offset` and the sizes of all `data` chunks sent previously on + // this stream. + // + // An incorrect value will cause an error. + WriteOffset int64 `protobuf:"varint,3,opt,name=write_offset,json=writeOffset,proto3" json:"write_offset,omitempty"` + // A portion of the data for the object. + // + // Types that are assignable to Data: + // + // *InsertObjectRequest_ChecksummedData + // *InsertObjectRequest_Reference + Data isInsertObjectRequest_Data `protobuf_oneof:"data"` + // Checksums for the complete object. If the checksums computed by the service + // don't match the specifified checksums the call will fail. May only be + // provided in the first or last request (either with first_message, or + // finish_write set). + ObjectChecksums *ObjectChecksums `protobuf:"bytes,6,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"` + // If `true`, this indicates that the write is complete. Sending any + // `InsertObjectRequest`s subsequent to one in which `finish_write` is `true` + // will cause an error. + // For a non-resumable write (where the upload_id was not set in the first + // message), it is an error not to set this field in the final message of the + // stream. + FinishWrite bool `protobuf:"varint,7,opt,name=finish_write,json=finishWrite,proto3" json:"finish_write,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *InsertObjectRequest) Reset() { + *x = InsertObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InsertObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InsertObjectRequest) ProtoMessage() {} + +func (x *InsertObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[38] + 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 InsertObjectRequest.ProtoReflect.Descriptor instead. +func (*InsertObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{38} +} + +func (m *InsertObjectRequest) GetFirstMessage() isInsertObjectRequest_FirstMessage { + if m != nil { + return m.FirstMessage + } + return nil +} + +func (x *InsertObjectRequest) GetUploadId() string { + if x, ok := x.GetFirstMessage().(*InsertObjectRequest_UploadId); ok { + return x.UploadId + } + return "" +} + +func (x *InsertObjectRequest) GetInsertObjectSpec() *InsertObjectSpec { + if x, ok := x.GetFirstMessage().(*InsertObjectRequest_InsertObjectSpec); ok { + return x.InsertObjectSpec + } + return nil +} + +func (x *InsertObjectRequest) GetWriteOffset() int64 { + if x != nil { + return x.WriteOffset + } + return 0 +} + +func (m *InsertObjectRequest) GetData() isInsertObjectRequest_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *InsertObjectRequest) GetChecksummedData() *ChecksummedData { + if x, ok := x.GetData().(*InsertObjectRequest_ChecksummedData); ok { + return x.ChecksummedData + } + return nil +} + +func (x *InsertObjectRequest) GetReference() *GetObjectMediaRequest { + if x, ok := x.GetData().(*InsertObjectRequest_Reference); ok { + return x.Reference + } + return nil +} + +func (x *InsertObjectRequest) GetObjectChecksums() *ObjectChecksums { + if x != nil { + return x.ObjectChecksums + } + return nil +} + +func (x *InsertObjectRequest) GetFinishWrite() bool { + if x != nil { + return x.FinishWrite + } + return false +} + +func (x *InsertObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *InsertObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +type isInsertObjectRequest_FirstMessage interface { + isInsertObjectRequest_FirstMessage() +} + +type InsertObjectRequest_UploadId struct { + // For resumable uploads. This should be the `upload_id` returned from a + // call to `StartResumableWriteResponse`. + UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3,oneof"` +} + +type InsertObjectRequest_InsertObjectSpec struct { + // For non-resumable uploads. Describes the overall upload, including the + // destination bucket and object name, preconditions, etc. + InsertObjectSpec *InsertObjectSpec `protobuf:"bytes,2,opt,name=insert_object_spec,json=insertObjectSpec,proto3,oneof"` +} + +func (*InsertObjectRequest_UploadId) isInsertObjectRequest_FirstMessage() {} + +func (*InsertObjectRequest_InsertObjectSpec) isInsertObjectRequest_FirstMessage() {} + +type isInsertObjectRequest_Data interface { + isInsertObjectRequest_Data() +} + +type InsertObjectRequest_ChecksummedData struct { + // The data to insert. If a crc32c checksum is provided that doesn't match + // the checksum computed by the service, the request will fail. + ChecksummedData *ChecksummedData `protobuf:"bytes,4,opt,name=checksummed_data,json=checksummedData,proto3,oneof"` +} + +type InsertObjectRequest_Reference struct { + // A reference to an existing object. This can be used to support + // several use cases: + // - Writing a sequence of data buffers supports the basic use case of + // uploading a complete object, chunk by chunk. + // - Writing a sequence of references to existing objects allows an + // object to be composed from a collection of objects, which can be + // used to support parallel object writes. + // - Writing a single reference with a given offset and size can be used + // to create an object from a slice of an existing object. + // - Writing an object referencing a object slice (created as noted + // above) followed by a data buffer followed by another object + // slice can be used to support delta upload functionality. + Reference *GetObjectMediaRequest `protobuf:"bytes,5,opt,name=reference,proto3,oneof"` +} + +func (*InsertObjectRequest_ChecksummedData) isInsertObjectRequest_Data() {} + +func (*InsertObjectRequest_Reference) isInsertObjectRequest_Data() {} + +// Request message for ListObjects. +type ListObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which to look for objects. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Returns results in a directory-like mode. `items` will contain + // only objects whose names, aside from the `prefix`, do not + // contain `delimiter`. Objects whose names, aside from the + // `prefix`, contain `delimiter` will have their name, + // truncated after the `delimiter`, returned in + // `prefixes`. Duplicate `prefixes` are omitted. + Delimiter string `protobuf:"bytes,2,opt,name=delimiter,proto3" json:"delimiter,omitempty"` + // If true, objects that end in exactly one instance of `delimiter` + // will have their metadata included in `items` in addition to + // `prefixes`. + IncludeTrailingDelimiter bool `protobuf:"varint,3,opt,name=include_trailing_delimiter,json=includeTrailingDelimiter,proto3" json:"include_trailing_delimiter,omitempty"` + // Maximum number of `items` plus `prefixes` to return + // in a single page of responses. As duplicate `prefixes` are + // omitted, fewer total results may be returned than requested. The service + // will use this parameter or 1,000 items, whichever is smaller. + MaxResults int32 `protobuf:"varint,4,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` + // A previously-returned page token representing part of the larger set of + // results to view. + PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter results to objects whose names begin with this prefix. + Prefix string `protobuf:"bytes,6,opt,name=prefix,proto3" json:"prefix,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`. + Projection CommonEnums_Projection `protobuf:"varint,7,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // If `true`, lists all versions of an object as distinct results. + // The default is `false`. For more information, see + // [Object + // Versioning](https://cloud.google.com/storage/docs/object-versioning). + Versions bool `protobuf:"varint,9,opt,name=versions,proto3" json:"versions,omitempty"` + // Filter results to objects whose names are lexicographically equal to or + // after lexicographic_start. If lexicographic_end is also set, the objects + // listed have names between lexicographic_start (inclusive) and + // lexicographic_end (exclusive). + LexicographicStart string `protobuf:"bytes,11,opt,name=lexicographic_start,json=lexicographicStart,proto3" json:"lexicographic_start,omitempty"` + // Filter results to objects whose names are lexicographically before + // lexicographic_end. If lexicographic_start is also set, the objects listed + // have names between lexicographic_start (inclusive) and lexicographic_end + // (exclusive). + LexicographicEnd string `protobuf:"bytes,12,opt,name=lexicographic_end,json=lexicographicEnd,proto3" json:"lexicographic_end,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,10,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListObjectsRequest) Reset() { + *x = ListObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListObjectsRequest) ProtoMessage() {} + +func (x *ListObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[39] + 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 ListObjectsRequest.ProtoReflect.Descriptor instead. +func (*ListObjectsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{39} +} + +func (x *ListObjectsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ListObjectsRequest) GetDelimiter() string { + if x != nil { + return x.Delimiter + } + return "" +} + +func (x *ListObjectsRequest) GetIncludeTrailingDelimiter() bool { + if x != nil { + return x.IncludeTrailingDelimiter + } + return false +} + +func (x *ListObjectsRequest) GetMaxResults() int32 { + if x != nil { + return x.MaxResults + } + return 0 +} + +func (x *ListObjectsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListObjectsRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *ListObjectsRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *ListObjectsRequest) GetVersions() bool { + if x != nil { + return x.Versions + } + return false +} + +func (x *ListObjectsRequest) GetLexicographicStart() string { + if x != nil { + return x.LexicographicStart + } + return "" +} + +func (x *ListObjectsRequest) GetLexicographicEnd() string { + if x != nil { + return x.LexicographicEnd + } + return "" +} + +func (x *ListObjectsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request object for `QueryWriteStatus`. +type QueryWriteStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the resume token for the object whose write status is being + // requested. + UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *QueryWriteStatusRequest) Reset() { + *x = QueryWriteStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryWriteStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryWriteStatusRequest) ProtoMessage() {} + +func (x *QueryWriteStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[40] + 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 QueryWriteStatusRequest.ProtoReflect.Descriptor instead. +func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{40} +} + +func (x *QueryWriteStatusRequest) GetUploadId() string { + if x != nil { + return x.UploadId + } + return "" +} + +func (x *QueryWriteStatusRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *QueryWriteStatusRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Response object for `QueryWriteStatus`. +type QueryWriteStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of bytes that have been processed for the given object. + CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize,proto3" json:"committed_size,omitempty"` + // `complete` is `true` only if the client has sent a `InsertObjectRequest` + // with `finish_write` set to true, and the server has processed that request. + Complete bool `protobuf:"varint,2,opt,name=complete,proto3" json:"complete,omitempty"` + // The metadata for the uploaded object. Only set if `complete` is `true`. + Resource *Object `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` +} + +func (x *QueryWriteStatusResponse) Reset() { + *x = QueryWriteStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryWriteStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryWriteStatusResponse) ProtoMessage() {} + +func (x *QueryWriteStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[41] + 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 QueryWriteStatusResponse.ProtoReflect.Descriptor instead. +func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{41} +} + +func (x *QueryWriteStatusResponse) GetCommittedSize() int64 { + if x != nil { + return x.CommittedSize + } + return 0 +} + +func (x *QueryWriteStatusResponse) GetComplete() bool { + if x != nil { + return x.Complete + } + return false +} + +func (x *QueryWriteStatusResponse) GetResource() *Object { + if x != nil { + return x.Resource + } + return nil +} + +// Request message for RewriteObject. +type RewriteObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which to store the new object. Overrides the provided + // object metadata's `bucket` value, if any. + DestinationBucket string `protobuf:"bytes,1,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"` + // Required. Name of the new object. + // Required when the object metadata is not otherwise provided. Overrides the + // object metadata's `name` value, if any. + DestinationObject string `protobuf:"bytes,2,opt,name=destination_object,json=destinationObject,proto3" json:"destination_object,omitempty"` + // Resource name of the Cloud KMS key, of the form + // `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`, + // that will be used to encrypt the object. Overrides the object + // metadata's `kms_key_name` value, if any. + DestinationKmsKeyName string `protobuf:"bytes,3,opt,name=destination_kms_key_name,json=destinationKmsKeyName,proto3" json:"destination_kms_key_name,omitempty"` + // Apply a predefined set of access controls to the destination object. + DestinationPredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,4,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"destination_predefined_acl,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the destination object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the destination object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,8,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // generation matches the given value. + IfSourceGenerationMatch *wrappers.Int64Value `protobuf:"bytes,9,opt,name=if_source_generation_match,json=ifSourceGenerationMatch,proto3" json:"if_source_generation_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // generation does not match the given value. + IfSourceGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,10,opt,name=if_source_generation_not_match,json=ifSourceGenerationNotMatch,proto3" json:"if_source_generation_not_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // metageneration matches the given value. + IfSourceMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,11,opt,name=if_source_metageneration_match,json=ifSourceMetagenerationMatch,proto3" json:"if_source_metageneration_match,omitempty"` + // Makes the operation conditional on whether the source object's current + // metageneration does not match the given value. + IfSourceMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,12,opt,name=if_source_metageneration_not_match,json=ifSourceMetagenerationNotMatch,proto3" json:"if_source_metageneration_not_match,omitempty"` + // The maximum number of bytes that will be rewritten per rewrite request. + // Most callers + // shouldn't need to specify this parameter - it is primarily in place to + // support testing. If specified the value must be an integral multiple of + // 1 MiB (1048576). Also, this only applies to requests where the source and + // destination span locations and/or storage classes. Finally, this value must + // not change across rewrite calls else you'll get an error that the + // `rewriteToken` is invalid. + MaxBytesRewrittenPerCall int64 `protobuf:"varint,13,opt,name=max_bytes_rewritten_per_call,json=maxBytesRewrittenPerCall,proto3" json:"max_bytes_rewritten_per_call,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`, unless the + // object resource specifies the `acl` property, when it defaults + // to `full`. + Projection CommonEnums_Projection `protobuf:"varint,14,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // Include this field (from the previous rewrite response) on each rewrite + // request after the first one, until the rewrite response 'done' flag is + // true. Calls that provide a rewriteToken can omit all other request fields, + // but if included those fields must match the values provided in the first + // rewrite request. + RewriteToken string `protobuf:"bytes,15,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"` + // Required. Name of the bucket in which to find the source object. + SourceBucket string `protobuf:"bytes,16,opt,name=source_bucket,json=sourceBucket,proto3" json:"source_bucket,omitempty"` + // Required. Name of the source object. + SourceObject string `protobuf:"bytes,17,opt,name=source_object,json=sourceObject,proto3" json:"source_object,omitempty"` + // If present, selects a specific revision of the source object (as opposed to + // the latest version, the default). + SourceGeneration int64 `protobuf:"varint,18,opt,name=source_generation,json=sourceGeneration,proto3" json:"source_generation,omitempty"` + // Properties of the destination, post-rewrite object. + Object *Object `protobuf:"bytes,20,opt,name=object,proto3" json:"object,omitempty"` + // The algorithm used to encrypt the source object, if any. + CopySourceEncryptionAlgorithm string `protobuf:"bytes,21,opt,name=copy_source_encryption_algorithm,json=copySourceEncryptionAlgorithm,proto3" json:"copy_source_encryption_algorithm,omitempty"` + // The encryption key used to encrypt the source object, if any. + CopySourceEncryptionKey string `protobuf:"bytes,22,opt,name=copy_source_encryption_key,json=copySourceEncryptionKey,proto3" json:"copy_source_encryption_key,omitempty"` + // The SHA-256 hash of the key used to encrypt the source object, if any. + CopySourceEncryptionKeySha256 string `protobuf:"bytes,23,opt,name=copy_source_encryption_key_sha256,json=copySourceEncryptionKeySha256,proto3" json:"copy_source_encryption_key_sha256,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,24,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,25,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *RewriteObjectRequest) Reset() { + *x = RewriteObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewriteObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewriteObjectRequest) ProtoMessage() {} + +func (x *RewriteObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[42] + 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 RewriteObjectRequest.ProtoReflect.Descriptor instead. +func (*RewriteObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{42} +} + +func (x *RewriteObjectRequest) GetDestinationBucket() string { + if x != nil { + return x.DestinationBucket + } + return "" +} + +func (x *RewriteObjectRequest) GetDestinationObject() string { + if x != nil { + return x.DestinationObject + } + return "" +} + +func (x *RewriteObjectRequest) GetDestinationKmsKeyName() string { + if x != nil { + return x.DestinationKmsKeyName + } + return "" +} + +func (x *RewriteObjectRequest) GetDestinationPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.DestinationPredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *RewriteObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfSourceGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceGenerationMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfSourceGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceGenerationNotMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfSourceMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceMetagenerationMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetIfSourceMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfSourceMetagenerationNotMatch + } + return nil +} + +func (x *RewriteObjectRequest) GetMaxBytesRewrittenPerCall() int64 { + if x != nil { + return x.MaxBytesRewrittenPerCall + } + return 0 +} + +func (x *RewriteObjectRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *RewriteObjectRequest) GetRewriteToken() string { + if x != nil { + return x.RewriteToken + } + return "" +} + +func (x *RewriteObjectRequest) GetSourceBucket() string { + if x != nil { + return x.SourceBucket + } + return "" +} + +func (x *RewriteObjectRequest) GetSourceObject() string { + if x != nil { + return x.SourceObject + } + return "" +} + +func (x *RewriteObjectRequest) GetSourceGeneration() int64 { + if x != nil { + return x.SourceGeneration + } + return 0 +} + +func (x *RewriteObjectRequest) GetObject() *Object { + if x != nil { + return x.Object + } + return nil +} + +func (x *RewriteObjectRequest) GetCopySourceEncryptionAlgorithm() string { + if x != nil { + return x.CopySourceEncryptionAlgorithm + } + return "" +} + +func (x *RewriteObjectRequest) GetCopySourceEncryptionKey() string { + if x != nil { + return x.CopySourceEncryptionKey + } + return "" +} + +func (x *RewriteObjectRequest) GetCopySourceEncryptionKeySha256() string { + if x != nil { + return x.CopySourceEncryptionKeySha256 + } + return "" +} + +func (x *RewriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *RewriteObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// A rewrite response. +type RewriteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total bytes written so far, which can be used to provide a waiting user + // with a progress indicator. This property is always present in the response. + TotalBytesRewritten int64 `protobuf:"varint,1,opt,name=total_bytes_rewritten,json=totalBytesRewritten,proto3" json:"total_bytes_rewritten,omitempty"` + // The total size of the object being copied in bytes. This property is always + // present in the response. + ObjectSize int64 `protobuf:"varint,2,opt,name=object_size,json=objectSize,proto3" json:"object_size,omitempty"` + // `true` if the copy is finished; otherwise, `false` if + // the copy is in progress. This property is always present in the response. + Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"` + // A token to use in subsequent requests to continue copying data. This token + // is present in the response only when there is more data to copy. + RewriteToken string `protobuf:"bytes,4,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"` + // A resource containing the metadata for the copied-to object. This property + // is present in the response only when copying completes. + Resource *Object `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"` +} + +func (x *RewriteResponse) Reset() { + *x = RewriteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RewriteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RewriteResponse) ProtoMessage() {} + +func (x *RewriteResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[43] + 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 RewriteResponse.ProtoReflect.Descriptor instead. +func (*RewriteResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{43} +} + +func (x *RewriteResponse) GetTotalBytesRewritten() int64 { + if x != nil { + return x.TotalBytesRewritten + } + return 0 +} + +func (x *RewriteResponse) GetObjectSize() int64 { + if x != nil { + return x.ObjectSize + } + return 0 +} + +func (x *RewriteResponse) GetDone() bool { + if x != nil { + return x.Done + } + return false +} + +func (x *RewriteResponse) GetRewriteToken() string { + if x != nil { + return x.RewriteToken + } + return "" +} + +func (x *RewriteResponse) GetResource() *Object { + if x != nil { + return x.Resource + } + return nil +} + +// Request message StartResumableWrite. +type StartResumableWriteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The destination bucket, object, and metadata, as well as any preconditions. + InsertObjectSpec *InsertObjectSpec `protobuf:"bytes,1,opt,name=insert_object_spec,json=insertObjectSpec,proto3" json:"insert_object_spec,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *StartResumableWriteRequest) Reset() { + *x = StartResumableWriteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartResumableWriteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartResumableWriteRequest) ProtoMessage() {} + +func (x *StartResumableWriteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[44] + 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 StartResumableWriteRequest.ProtoReflect.Descriptor instead. +func (*StartResumableWriteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{44} +} + +func (x *StartResumableWriteRequest) GetInsertObjectSpec() *InsertObjectSpec { + if x != nil { + return x.InsertObjectSpec + } + return nil +} + +func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *StartResumableWriteRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Response object for `StartResumableWrite`. +type StartResumableWriteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The upload_id of the newly started resumable write operation. This + // value should be copied into the `InsertObjectRequest.upload_id` field. + UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"` +} + +func (x *StartResumableWriteResponse) Reset() { + *x = StartResumableWriteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartResumableWriteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartResumableWriteResponse) ProtoMessage() {} + +func (x *StartResumableWriteResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[45] + 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 StartResumableWriteResponse.ProtoReflect.Descriptor instead. +func (*StartResumableWriteResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{45} +} + +func (x *StartResumableWriteResponse) GetUploadId() string { + if x != nil { + return x.UploadId + } + return "" +} + +// Request message for PatchObject. +type PatchObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which the object resides. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Apply a predefined set of access controls to this object. + PredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,8,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_acl,omitempty"` + // Set of properties to return. Defaults to `FULL`. + Projection CommonEnums_Projection `protobuf:"varint,9,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // The Object metadata for updating. + Metadata *Object `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"` + // List of fields to be updated. + // + // To specify ALL fields, equivalent to the JSON API's "update" function, + // specify a single field with the value `*`. Note: not recommended. If a new + // field is introduced at a later time, an older client updating with the `*` + // may accidentally reset the new field's value. + // + // Not specifying any fields is an error. + // Not specifying a field while setting that field to a non-default value is + // an error. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,12,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,13,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,14,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *PatchObjectRequest) Reset() { + *x = PatchObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchObjectRequest) ProtoMessage() {} + +func (x *PatchObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[46] + 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 PatchObjectRequest.ProtoReflect.Descriptor instead. +func (*PatchObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{46} +} + +func (x *PatchObjectRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *PatchObjectRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *PatchObjectRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *PatchObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *PatchObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *PatchObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *PatchObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *PatchObjectRequest) GetPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *PatchObjectRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *PatchObjectRequest) GetMetadata() *Object { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *PatchObjectRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *PatchObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *PatchObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for UpdateObject. +type UpdateObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the bucket in which the object resides. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // Required. Name of the object. + Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + // If present, selects a specific revision of this object (as opposed to the + // latest version, the default). + Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"` + // Makes the operation conditional on whether the object's current generation + // matches the given value. Setting to 0 makes the operation succeed only if + // there are no live versions of the object. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` + // Makes the operation conditional on whether the object's current generation + // does not match the given value. If no live object exists, the precondition + // fails. Setting to 0 makes the operation succeed only if there is a live + // version of the object. + IfGenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3" json:"if_generation_not_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration matches the given value. + IfMetagenerationMatch *wrappers.Int64Value `protobuf:"bytes,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` + // Makes the operation conditional on whether the object's current + // metageneration does not match the given value. + IfMetagenerationNotMatch *wrappers.Int64Value `protobuf:"bytes,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3" json:"if_metageneration_not_match,omitempty"` + // Apply a predefined set of access controls to this object. + PredefinedAcl CommonEnums_PredefinedObjectAcl `protobuf:"varint,8,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=mockgcp.storage.v1.CommonEnums_PredefinedObjectAcl" json:"predefined_acl,omitempty"` + // Set of properties to return. Defaults to `FULL`. + Projection CommonEnums_Projection `protobuf:"varint,9,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // The Object metadata for updating. + Metadata *Object `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"` + // A set of parameters common to Storage API requests concerning an object. + CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,12,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,13,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *UpdateObjectRequest) Reset() { + *x = UpdateObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateObjectRequest) ProtoMessage() {} + +func (x *UpdateObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[47] + 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 UpdateObjectRequest.ProtoReflect.Descriptor instead. +func (*UpdateObjectRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{47} +} + +func (x *UpdateObjectRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *UpdateObjectRequest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *UpdateObjectRequest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *UpdateObjectRequest) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +func (x *UpdateObjectRequest) GetIfGenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationNotMatch + } + return nil +} + +func (x *UpdateObjectRequest) GetIfMetagenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationMatch + } + return nil +} + +func (x *UpdateObjectRequest) GetIfMetagenerationNotMatch() *wrappers.Int64Value { + if x != nil { + return x.IfMetagenerationNotMatch + } + return nil +} + +func (x *UpdateObjectRequest) GetPredefinedAcl() CommonEnums_PredefinedObjectAcl { + if x != nil { + return x.PredefinedAcl + } + return CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED +} + +func (x *UpdateObjectRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *UpdateObjectRequest) GetMetadata() *Object { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *UpdateObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams { + if x != nil { + return x.CommonObjectRequestParams + } + return nil +} + +func (x *UpdateObjectRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for WatchAllObjects. +type WatchAllObjectsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the bucket in which to look for objects. + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + // If `true`, lists all versions of an object as distinct results. + // The default is `false`. For more information, see + // [Object + // Versioning](https://cloud.google.com/storage/docs/object-versioning). + Versions bool `protobuf:"varint,2,opt,name=versions,proto3" json:"versions,omitempty"` + // Returns results in a directory-like mode. `items` will contain + // only objects whose names, aside from the `prefix`, do not + // contain `delimiter`. Objects whose names, aside from the + // `prefix`, contain `delimiter` will have their name, + // truncated after the `delimiter`, returned in + // `prefixes`. Duplicate `prefixes` are omitted. + Delimiter string `protobuf:"bytes,3,opt,name=delimiter,proto3" json:"delimiter,omitempty"` + // Maximum number of `items` plus `prefixes` to return + // in a single page of responses. As duplicate `prefixes` are + // omitted, fewer total results may be returned than requested. The service + // will use this parameter or 1,000 items, whichever is smaller. + MaxResults int32 `protobuf:"varint,4,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` + // Filter results to objects whose names begin with this prefix. + Prefix string `protobuf:"bytes,5,opt,name=prefix,proto3" json:"prefix,omitempty"` + // If true, objects that end in exactly one instance of `delimiter` + // will have their metadata included in `items` in addition to + // `prefixes`. + IncludeTrailingDelimiter bool `protobuf:"varint,6,opt,name=include_trailing_delimiter,json=includeTrailingDelimiter,proto3" json:"include_trailing_delimiter,omitempty"` + // A previously-returned page token representing part of the larger set of + // results to view. + PageToken string `protobuf:"bytes,7,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Set of properties to return. Defaults to `NO_ACL`. + Projection CommonEnums_Projection `protobuf:"varint,8,opt,name=projection,proto3,enum=mockgcp.storage.v1.CommonEnums_Projection" json:"projection,omitempty"` + // Properties of the channel to be inserted. + Channel *Channel `protobuf:"bytes,10,opt,name=channel,proto3" json:"channel,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *WatchAllObjectsRequest) Reset() { + *x = WatchAllObjectsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WatchAllObjectsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WatchAllObjectsRequest) ProtoMessage() {} + +func (x *WatchAllObjectsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[48] + 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 WatchAllObjectsRequest.ProtoReflect.Descriptor instead. +func (*WatchAllObjectsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{48} +} + +func (x *WatchAllObjectsRequest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *WatchAllObjectsRequest) GetVersions() bool { + if x != nil { + return x.Versions + } + return false +} + +func (x *WatchAllObjectsRequest) GetDelimiter() string { + if x != nil { + return x.Delimiter + } + return "" +} + +func (x *WatchAllObjectsRequest) GetMaxResults() int32 { + if x != nil { + return x.MaxResults + } + return 0 +} + +func (x *WatchAllObjectsRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *WatchAllObjectsRequest) GetIncludeTrailingDelimiter() bool { + if x != nil { + return x.IncludeTrailingDelimiter + } + return false +} + +func (x *WatchAllObjectsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *WatchAllObjectsRequest) GetProjection() CommonEnums_Projection { + if x != nil { + return x.Projection + } + return CommonEnums_PROJECTION_UNSPECIFIED +} + +func (x *WatchAllObjectsRequest) GetChannel() *Channel { + if x != nil { + return x.Channel + } + return nil +} + +func (x *WatchAllObjectsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request message for GetProjectServiceAccount. +type GetProjectServiceAccountRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Project ID. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetProjectServiceAccountRequest) Reset() { + *x = GetProjectServiceAccountRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectServiceAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectServiceAccountRequest) ProtoMessage() {} + +func (x *GetProjectServiceAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[49] + 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 GetProjectServiceAccountRequest.ProtoReflect.Descriptor instead. +func (*GetProjectServiceAccountRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{49} +} + +func (x *GetProjectServiceAccountRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *GetProjectServiceAccountRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +type CreateHmacKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The project that the HMAC-owning service account lives in. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Required. The service account to create the HMAC for. + ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *CreateHmacKeyRequest) Reset() { + *x = CreateHmacKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateHmacKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateHmacKeyRequest) ProtoMessage() {} + +func (x *CreateHmacKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[50] + 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 CreateHmacKeyRequest.ProtoReflect.Descriptor instead. +func (*CreateHmacKeyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{50} +} + +func (x *CreateHmacKeyRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *CreateHmacKeyRequest) GetServiceAccountEmail() string { + if x != nil { + return x.ServiceAccountEmail + } + return "" +} + +func (x *CreateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Create hmac response. The only time the secret for an HMAC will be returned. +type CreateHmacKeyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Key metadata. + Metadata *HmacKeyMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // HMAC key secret material. + Secret string `protobuf:"bytes,2,opt,name=secret,proto3" json:"secret,omitempty"` +} + +func (x *CreateHmacKeyResponse) Reset() { + *x = CreateHmacKeyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateHmacKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateHmacKeyResponse) ProtoMessage() {} + +func (x *CreateHmacKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[51] + 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 CreateHmacKeyResponse.ProtoReflect.Descriptor instead. +func (*CreateHmacKeyResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{51} +} + +func (x *CreateHmacKeyResponse) GetMetadata() *HmacKeyMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *CreateHmacKeyResponse) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +// Request object to delete a given HMAC key. +type DeleteHmacKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The identifying key for the HMAC to delete. + AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` + // Required. The project id the HMAC key lies in. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *DeleteHmacKeyRequest) Reset() { + *x = DeleteHmacKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteHmacKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteHmacKeyRequest) ProtoMessage() {} + +func (x *DeleteHmacKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[52] + 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 DeleteHmacKeyRequest.ProtoReflect.Descriptor instead. +func (*DeleteHmacKeyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{52} +} + +func (x *DeleteHmacKeyRequest) GetAccessId() string { + if x != nil { + return x.AccessId + } + return "" +} + +func (x *DeleteHmacKeyRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *DeleteHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request object to get metadata on a given HMAC key. +type GetHmacKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The identifying key for the HMAC to delete. + AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` + // Required. The project id the HMAC key lies in. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetHmacKeyRequest) Reset() { + *x = GetHmacKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHmacKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHmacKeyRequest) ProtoMessage() {} + +func (x *GetHmacKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[53] + 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 GetHmacKeyRequest.ProtoReflect.Descriptor instead. +func (*GetHmacKeyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{53} +} + +func (x *GetHmacKeyRequest) GetAccessId() string { + if x != nil { + return x.AccessId + } + return "" +} + +func (x *GetHmacKeyRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *GetHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Request to fetch a list of HMAC keys under a given project. +type ListHmacKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The project id to list HMAC keys for. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // An optional filter to only return HMAC keys for one service account. + ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` + // An optional bool to return deleted keys that have not been wiped out yet. + ShowDeletedKeys bool `protobuf:"varint,3,opt,name=show_deleted_keys,json=showDeletedKeys,proto3" json:"show_deleted_keys,omitempty"` + // The maximum number of keys to return. + MaxResults int32 `protobuf:"varint,4,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` + // A previously returned token from ListHmacKeysResponse to get the next page. + PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *ListHmacKeysRequest) Reset() { + *x = ListHmacKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHmacKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHmacKeysRequest) ProtoMessage() {} + +func (x *ListHmacKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[54] + 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 ListHmacKeysRequest.ProtoReflect.Descriptor instead. +func (*ListHmacKeysRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{54} +} + +func (x *ListHmacKeysRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ListHmacKeysRequest) GetServiceAccountEmail() string { + if x != nil { + return x.ServiceAccountEmail + } + return "" +} + +func (x *ListHmacKeysRequest) GetShowDeletedKeys() bool { + if x != nil { + return x.ShowDeletedKeys + } + return false +} + +func (x *ListHmacKeysRequest) GetMaxResults() int32 { + if x != nil { + return x.MaxResults + } + return 0 +} + +func (x *ListHmacKeysRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListHmacKeysRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Hmac key list response with next page information. +type ListHmacKeysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The continuation token, used to page through large result sets. Provide + // this value in a subsequent request to return the next page of results. + NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The list of items. + Items []*HmacKeyMetadata `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ListHmacKeysResponse) Reset() { + *x = ListHmacKeysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHmacKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHmacKeysResponse) ProtoMessage() {} + +func (x *ListHmacKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[55] + 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 ListHmacKeysResponse.ProtoReflect.Descriptor instead. +func (*ListHmacKeysResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{55} +} + +func (x *ListHmacKeysResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListHmacKeysResponse) GetItems() []*HmacKeyMetadata { + if x != nil { + return x.Items + } + return nil +} + +// Request object to update an HMAC key state. +type UpdateHmacKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The id of the HMAC key. + AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` + // Required. The project id the HMAC's service account lies in. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Required. The service account owner of the HMAC key. + Metadata *HmacKeyMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *UpdateHmacKeyRequest) Reset() { + *x = UpdateHmacKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateHmacKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateHmacKeyRequest) ProtoMessage() {} + +func (x *UpdateHmacKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[56] + 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 UpdateHmacKeyRequest.ProtoReflect.Descriptor instead. +func (*UpdateHmacKeyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{56} +} + +func (x *UpdateHmacKeyRequest) GetAccessId() string { + if x != nil { + return x.AccessId + } + return "" +} + +func (x *UpdateHmacKeyRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *UpdateHmacKeyRequest) GetMetadata() *HmacKeyMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *UpdateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// A wrapper around the IAM get policy request to support our +// common_request_params. +type GetIamPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The request sent to IAM. + IamRequest *iampb.GetIamPolicyRequest `protobuf:"bytes,1,opt,name=iam_request,json=iamRequest,proto3" json:"iam_request,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *GetIamPolicyRequest) Reset() { + *x = GetIamPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIamPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIamPolicyRequest) ProtoMessage() {} + +func (x *GetIamPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[57] + 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 GetIamPolicyRequest.ProtoReflect.Descriptor instead. +func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{57} +} + +func (x *GetIamPolicyRequest) GetIamRequest() *iampb.GetIamPolicyRequest { + if x != nil { + return x.IamRequest + } + return nil +} + +func (x *GetIamPolicyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// A wrapper around the IAM set policy request to support our +// common_request_params. +type SetIamPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The request sent to IAM. + IamRequest *iampb.SetIamPolicyRequest `protobuf:"bytes,1,opt,name=iam_request,json=iamRequest,proto3" json:"iam_request,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *SetIamPolicyRequest) Reset() { + *x = SetIamPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetIamPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetIamPolicyRequest) ProtoMessage() {} + +func (x *SetIamPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[58] + 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 SetIamPolicyRequest.ProtoReflect.Descriptor instead. +func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{58} +} + +func (x *SetIamPolicyRequest) GetIamRequest() *iampb.SetIamPolicyRequest { + if x != nil { + return x.IamRequest + } + return nil +} + +func (x *SetIamPolicyRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// A wrapper around the IAM test iam permissions request to support our +// common_request_params. +type TestIamPermissionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The request sent to IAM. + IamRequest *iampb.TestIamPermissionsRequest `protobuf:"bytes,1,opt,name=iam_request,json=iamRequest,proto3" json:"iam_request,omitempty"` + // A set of parameters common to all Storage API requests. + CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` +} + +func (x *TestIamPermissionsRequest) Reset() { + *x = TestIamPermissionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsRequest) ProtoMessage() {} + +func (x *TestIamPermissionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[59] + 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 TestIamPermissionsRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{59} +} + +func (x *TestIamPermissionsRequest) GetIamRequest() *iampb.TestIamPermissionsRequest { + if x != nil { + return x.IamRequest + } + return nil +} + +func (x *TestIamPermissionsRequest) GetCommonRequestParams() *CommonRequestParams { + if x != nil { + return x.CommonRequestParams + } + return nil +} + +// Parameters that can be passed to any object request. +type CommonObjectRequestParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Encryption algorithm used with Customer-Supplied Encryption Keys feature. + EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"` + // Encryption key used with Customer-Supplied Encryption Keys feature. + EncryptionKey string `protobuf:"bytes,2,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + // SHA256 hash of encryption key used with Customer-Supplied Encryption Keys + // feature. + EncryptionKeySha256 string `protobuf:"bytes,3,opt,name=encryption_key_sha256,json=encryptionKeySha256,proto3" json:"encryption_key_sha256,omitempty"` +} + +func (x *CommonObjectRequestParams) Reset() { + *x = CommonObjectRequestParams{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonObjectRequestParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonObjectRequestParams) ProtoMessage() {} + +func (x *CommonObjectRequestParams) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[60] + 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 CommonObjectRequestParams.ProtoReflect.Descriptor instead. +func (*CommonObjectRequestParams) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{60} +} + +func (x *CommonObjectRequestParams) GetEncryptionAlgorithm() string { + if x != nil { + return x.EncryptionAlgorithm + } + return "" +} + +func (x *CommonObjectRequestParams) GetEncryptionKey() string { + if x != nil { + return x.EncryptionKey + } + return "" +} + +func (x *CommonObjectRequestParams) GetEncryptionKeySha256() string { + if x != nil { + return x.EncryptionKeySha256 + } + return "" +} + +// Parameters that can be passed to any request. +type CommonRequestParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Required when using buckets with Requestor Pays feature enabled. + UserProject string `protobuf:"bytes,1,opt,name=user_project,json=userProject,proto3" json:"user_project,omitempty"` + // Lets you enforce per-user quotas from a server-side application even in + // cases when the user's IP address is unknown. This can occur, for example, + // with applications that run cron jobs on App Engine on a user's behalf. + // You can choose any arbitrary string that uniquely identifies a user, but it + // is limited to 40 characters. + QuotaUser string `protobuf:"bytes,2,opt,name=quota_user,json=quotaUser,proto3" json:"quota_user,omitempty"` + // Subset of fields to include in the response. + Fields *field_mask.FieldMask `protobuf:"bytes,4,opt,name=fields,proto3" json:"fields,omitempty"` +} + +func (x *CommonRequestParams) Reset() { + *x = CommonRequestParams{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonRequestParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonRequestParams) ProtoMessage() {} + +func (x *CommonRequestParams) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[61] + 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 CommonRequestParams.ProtoReflect.Descriptor instead. +func (*CommonRequestParams) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{61} +} + +func (x *CommonRequestParams) GetUserProject() string { + if x != nil { + return x.UserProject + } + return "" +} + +func (x *CommonRequestParams) GetQuotaUser() string { + if x != nil { + return x.QuotaUser + } + return "" +} + +func (x *CommonRequestParams) GetFields() *field_mask.FieldMask { + if x != nil { + return x.Fields + } + return nil +} + +// Description of a source object for a composition request. +type ComposeObjectRequest_SourceObjects struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source object's name. All source objects must reside in the same + // bucket. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The generation of this object to use as the source. + Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"` + // Conditions that must be met for this operation to execute. + ObjectPreconditions *ComposeObjectRequest_SourceObjects_ObjectPreconditions `protobuf:"bytes,3,opt,name=object_preconditions,json=objectPreconditions,proto3" json:"object_preconditions,omitempty"` +} + +func (x *ComposeObjectRequest_SourceObjects) Reset() { + *x = ComposeObjectRequest_SourceObjects{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComposeObjectRequest_SourceObjects) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComposeObjectRequest_SourceObjects) ProtoMessage() {} + +func (x *ComposeObjectRequest_SourceObjects) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[62] + 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 ComposeObjectRequest_SourceObjects.ProtoReflect.Descriptor instead. +func (*ComposeObjectRequest_SourceObjects) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{31, 0} +} + +func (x *ComposeObjectRequest_SourceObjects) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ComposeObjectRequest_SourceObjects) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *ComposeObjectRequest_SourceObjects) GetObjectPreconditions() *ComposeObjectRequest_SourceObjects_ObjectPreconditions { + if x != nil { + return x.ObjectPreconditions + } + return nil +} + +// Preconditions for a source object of a composition request. +type ComposeObjectRequest_SourceObjects_ObjectPreconditions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Only perform the composition if the generation of the source object + // that would be used matches this value. If this value and a generation + // are both specified, they must be the same value or the call will fail. + IfGenerationMatch *wrappers.Int64Value `protobuf:"bytes,1,opt,name=if_generation_match,json=ifGenerationMatch,proto3" json:"if_generation_match,omitempty"` +} + +func (x *ComposeObjectRequest_SourceObjects_ObjectPreconditions) Reset() { + *x = ComposeObjectRequest_SourceObjects_ObjectPreconditions{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComposeObjectRequest_SourceObjects_ObjectPreconditions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComposeObjectRequest_SourceObjects_ObjectPreconditions) ProtoMessage() {} + +func (x *ComposeObjectRequest_SourceObjects_ObjectPreconditions) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_proto_msgTypes[63] + 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 ComposeObjectRequest_SourceObjects_ObjectPreconditions.ProtoReflect.Descriptor instead. +func (*ComposeObjectRequest_SourceObjects_ObjectPreconditions) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_proto_rawDescGZIP(), []int{31, 0, 0} +} + +func (x *ComposeObjectRequest_SourceObjects_ObjectPreconditions) GetIfGenerationMatch() *wrappers.Int64Value { + if x != nil { + return x.IfGenerationMatch + } + return nil +} + +var File_mockgcp_storage_v1_storage_proto protoreflect.FileDescriptor + +var file_mockgcp_storage_v1_storage_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x12, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 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, 0x1f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, + 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5b, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x20, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, + 0x15, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd2, 0x02, 0x0a, 0x1f, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5b, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x96, 0x02, 0x0a, 0x20, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x52, 0x13, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, + 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x89, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, + 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, + 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x76, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x6c, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x1d, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, + 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb4, 0x02, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x1a, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x36, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd4, 0x05, 0x0a, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, + 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x65, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, + 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x76, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, + 0x6c, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x4a, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, + 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5b, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x98, 0x05, 0x0a, 0x13, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, + 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, + 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, + 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x76, 0x0a, + 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5b, 0x0a, + 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd3, 0x02, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, + 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd9, 0x02, + 0x0a, 0x26, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x5b, 0x0a, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5b, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x9d, 0x02, 0x0a, 0x27, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x5b, 0x0a, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x19, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf6, 0x01, + 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x06, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb6, 0x02, 0x0a, + 0x20, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0x8f, 0x03, 0x0a, 0x1f, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, + 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x15, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0x90, 0x03, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, + 0x0a, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xc8, 0x08, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x32, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x71, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, + 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xa6, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, + 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, + 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x62, 0x0a, 0x13, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, + 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0xd7, 0x0b, 0x0a, 0x11, 0x43, 0x6f, 0x70, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x12, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x71, + 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, + 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, + 0x6c, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x52, + 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, + 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x58, 0x0a, 0x1a, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5f, 0x0a, + 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x1a, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x60, + 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x67, 0x0a, 0x22, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x69, 0x66, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, + 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xab, 0x05, 0x0a, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x6e, 0x0a, 0x1c, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xc6, 0x05, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x52, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, + 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0xd7, 0x05, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x52, 0x0a, + 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, + 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, + 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc4, 0x04, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, + 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x4b, + 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x52, 0x0a, 0x17, 0x69, + 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, + 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x05, 0x0a, + 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x50, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4e, + 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, + 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x88, 0x04, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 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, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, + 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x65, 0x78, 0x69, 0x63, + 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x69, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x65, 0x78, 0x69, + 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x69, 0x63, 0x45, 0x6e, 0x64, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, + 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x95, 0x01, + 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x85, 0x0e, 0x0a, 0x14, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x32, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x71, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, + 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, + 0x63, 0x6c, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x52, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, + 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x58, 0x0a, 0x1a, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5f, + 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x60, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x67, 0x0a, 0x22, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x69, 0x66, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61, + 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, + 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, + 0x74, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x06, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x47, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x63, 0x6f, 0x70, 0x79, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6f, 0x70, + 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, + 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x21, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x1d, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, + 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd7, 0x01, + 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x36, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xbd, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x64, 0x22, 0xaa, 0x07, 0x0a, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, + 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x52, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, + 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, + 0x63, 0x6c, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0xee, 0x06, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x69, 0x66, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x52, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, + 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, + 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, + 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0xe0, 0x03, 0x0a, 0x16, 0x57, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x1f, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x35, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 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, 0x12, 0x5b, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 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, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x70, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6d, 0x61, + 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xb9, + 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 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, 0x5b, 0x0a, + 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x64, 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, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, + 0x4b, 0x65, 0x79, 0x73, 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, 0x12, + 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 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, 0x12, + 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x79, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x49, 0x64, 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, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6d, + 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5b, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x69, 0x61, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0b, + 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x61, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x69, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0xc4, 0x01, 0x0a, 0x19, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, + 0x0b, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x61, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x69, + 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x32, + 0x0a, 0x15, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, + 0x35, 0x36, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x32, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 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, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x54, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x50, + 0x01, 0x5a, 0x38, 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, + 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_storage_v1_storage_proto_rawDescOnce sync.Once + file_mockgcp_storage_v1_storage_proto_rawDescData = file_mockgcp_storage_v1_storage_proto_rawDesc +) + +func file_mockgcp_storage_v1_storage_proto_rawDescGZIP() []byte { + file_mockgcp_storage_v1_storage_proto_rawDescOnce.Do(func() { + file_mockgcp_storage_v1_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_storage_v1_storage_proto_rawDescData) + }) + return file_mockgcp_storage_v1_storage_proto_rawDescData +} + +var file_mockgcp_storage_v1_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 64) +var file_mockgcp_storage_v1_storage_proto_goTypes = []interface{}{ + (*DeleteBucketAccessControlRequest)(nil), // 0: mockgcp.storage.v1.DeleteBucketAccessControlRequest + (*GetBucketAccessControlRequest)(nil), // 1: mockgcp.storage.v1.GetBucketAccessControlRequest + (*InsertBucketAccessControlRequest)(nil), // 2: mockgcp.storage.v1.InsertBucketAccessControlRequest + (*ListBucketAccessControlsRequest)(nil), // 3: mockgcp.storage.v1.ListBucketAccessControlsRequest + (*PatchBucketAccessControlRequest)(nil), // 4: mockgcp.storage.v1.PatchBucketAccessControlRequest + (*UpdateBucketAccessControlRequest)(nil), // 5: mockgcp.storage.v1.UpdateBucketAccessControlRequest + (*DeleteBucketRequest)(nil), // 6: mockgcp.storage.v1.DeleteBucketRequest + (*GetBucketRequest)(nil), // 7: mockgcp.storage.v1.GetBucketRequest + (*InsertBucketRequest)(nil), // 8: mockgcp.storage.v1.InsertBucketRequest + (*ListChannelsRequest)(nil), // 9: mockgcp.storage.v1.ListChannelsRequest + (*ListBucketsRequest)(nil), // 10: mockgcp.storage.v1.ListBucketsRequest + (*LockRetentionPolicyRequest)(nil), // 11: mockgcp.storage.v1.LockRetentionPolicyRequest + (*PatchBucketRequest)(nil), // 12: mockgcp.storage.v1.PatchBucketRequest + (*UpdateBucketRequest)(nil), // 13: mockgcp.storage.v1.UpdateBucketRequest + (*StopChannelRequest)(nil), // 14: mockgcp.storage.v1.StopChannelRequest + (*DeleteDefaultObjectAccessControlRequest)(nil), // 15: mockgcp.storage.v1.DeleteDefaultObjectAccessControlRequest + (*GetDefaultObjectAccessControlRequest)(nil), // 16: mockgcp.storage.v1.GetDefaultObjectAccessControlRequest + (*InsertDefaultObjectAccessControlRequest)(nil), // 17: mockgcp.storage.v1.InsertDefaultObjectAccessControlRequest + (*ListDefaultObjectAccessControlsRequest)(nil), // 18: mockgcp.storage.v1.ListDefaultObjectAccessControlsRequest + (*PatchDefaultObjectAccessControlRequest)(nil), // 19: mockgcp.storage.v1.PatchDefaultObjectAccessControlRequest + (*UpdateDefaultObjectAccessControlRequest)(nil), // 20: mockgcp.storage.v1.UpdateDefaultObjectAccessControlRequest + (*DeleteNotificationRequest)(nil), // 21: mockgcp.storage.v1.DeleteNotificationRequest + (*GetNotificationRequest)(nil), // 22: mockgcp.storage.v1.GetNotificationRequest + (*InsertNotificationRequest)(nil), // 23: mockgcp.storage.v1.InsertNotificationRequest + (*ListNotificationsRequest)(nil), // 24: mockgcp.storage.v1.ListNotificationsRequest + (*DeleteObjectAccessControlRequest)(nil), // 25: mockgcp.storage.v1.DeleteObjectAccessControlRequest + (*GetObjectAccessControlRequest)(nil), // 26: mockgcp.storage.v1.GetObjectAccessControlRequest + (*InsertObjectAccessControlRequest)(nil), // 27: mockgcp.storage.v1.InsertObjectAccessControlRequest + (*ListObjectAccessControlsRequest)(nil), // 28: mockgcp.storage.v1.ListObjectAccessControlsRequest + (*PatchObjectAccessControlRequest)(nil), // 29: mockgcp.storage.v1.PatchObjectAccessControlRequest + (*UpdateObjectAccessControlRequest)(nil), // 30: mockgcp.storage.v1.UpdateObjectAccessControlRequest + (*ComposeObjectRequest)(nil), // 31: mockgcp.storage.v1.ComposeObjectRequest + (*CopyObjectRequest)(nil), // 32: mockgcp.storage.v1.CopyObjectRequest + (*DeleteObjectRequest)(nil), // 33: mockgcp.storage.v1.DeleteObjectRequest + (*GetObjectMediaRequest)(nil), // 34: mockgcp.storage.v1.GetObjectMediaRequest + (*GetObjectRequest)(nil), // 35: mockgcp.storage.v1.GetObjectRequest + (*GetObjectMediaResponse)(nil), // 36: mockgcp.storage.v1.GetObjectMediaResponse + (*InsertObjectSpec)(nil), // 37: mockgcp.storage.v1.InsertObjectSpec + (*InsertObjectRequest)(nil), // 38: mockgcp.storage.v1.InsertObjectRequest + (*ListObjectsRequest)(nil), // 39: mockgcp.storage.v1.ListObjectsRequest + (*QueryWriteStatusRequest)(nil), // 40: mockgcp.storage.v1.QueryWriteStatusRequest + (*QueryWriteStatusResponse)(nil), // 41: mockgcp.storage.v1.QueryWriteStatusResponse + (*RewriteObjectRequest)(nil), // 42: mockgcp.storage.v1.RewriteObjectRequest + (*RewriteResponse)(nil), // 43: mockgcp.storage.v1.RewriteResponse + (*StartResumableWriteRequest)(nil), // 44: mockgcp.storage.v1.StartResumableWriteRequest + (*StartResumableWriteResponse)(nil), // 45: mockgcp.storage.v1.StartResumableWriteResponse + (*PatchObjectRequest)(nil), // 46: mockgcp.storage.v1.PatchObjectRequest + (*UpdateObjectRequest)(nil), // 47: mockgcp.storage.v1.UpdateObjectRequest + (*WatchAllObjectsRequest)(nil), // 48: mockgcp.storage.v1.WatchAllObjectsRequest + (*GetProjectServiceAccountRequest)(nil), // 49: mockgcp.storage.v1.GetProjectServiceAccountRequest + (*CreateHmacKeyRequest)(nil), // 50: mockgcp.storage.v1.CreateHmacKeyRequest + (*CreateHmacKeyResponse)(nil), // 51: mockgcp.storage.v1.CreateHmacKeyResponse + (*DeleteHmacKeyRequest)(nil), // 52: mockgcp.storage.v1.DeleteHmacKeyRequest + (*GetHmacKeyRequest)(nil), // 53: mockgcp.storage.v1.GetHmacKeyRequest + (*ListHmacKeysRequest)(nil), // 54: mockgcp.storage.v1.ListHmacKeysRequest + (*ListHmacKeysResponse)(nil), // 55: mockgcp.storage.v1.ListHmacKeysResponse + (*UpdateHmacKeyRequest)(nil), // 56: mockgcp.storage.v1.UpdateHmacKeyRequest + (*GetIamPolicyRequest)(nil), // 57: mockgcp.storage.v1.GetIamPolicyRequest + (*SetIamPolicyRequest)(nil), // 58: mockgcp.storage.v1.SetIamPolicyRequest + (*TestIamPermissionsRequest)(nil), // 59: mockgcp.storage.v1.TestIamPermissionsRequest + (*CommonObjectRequestParams)(nil), // 60: mockgcp.storage.v1.CommonObjectRequestParams + (*CommonRequestParams)(nil), // 61: mockgcp.storage.v1.CommonRequestParams + (*ComposeObjectRequest_SourceObjects)(nil), // 62: mockgcp.storage.v1.ComposeObjectRequest.SourceObjects + (*ComposeObjectRequest_SourceObjects_ObjectPreconditions)(nil), // 63: mockgcp.storage.v1.ComposeObjectRequest.SourceObjects.ObjectPreconditions + (*BucketAccessControl)(nil), // 64: mockgcp.storage.v1.BucketAccessControl + (*field_mask.FieldMask)(nil), // 65: google.protobuf.FieldMask + (*wrappers.Int64Value)(nil), // 66: google.protobuf.Int64Value + (CommonEnums_Projection)(0), // 67: mockgcp.storage.v1.CommonEnums.Projection + (CommonEnums_PredefinedBucketAcl)(0), // 68: mockgcp.storage.v1.CommonEnums.PredefinedBucketAcl + (CommonEnums_PredefinedObjectAcl)(0), // 69: mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + (*Bucket)(nil), // 70: mockgcp.storage.v1.Bucket + (*Channel)(nil), // 71: mockgcp.storage.v1.Channel + (*ObjectAccessControl)(nil), // 72: mockgcp.storage.v1.ObjectAccessControl + (*Notification)(nil), // 73: mockgcp.storage.v1.Notification + (*Object)(nil), // 74: mockgcp.storage.v1.Object + (*ChecksummedData)(nil), // 75: mockgcp.storage.v1.ChecksummedData + (*ObjectChecksums)(nil), // 76: mockgcp.storage.v1.ObjectChecksums + (*ContentRange)(nil), // 77: mockgcp.storage.v1.ContentRange + (*HmacKeyMetadata)(nil), // 78: mockgcp.storage.v1.HmacKeyMetadata + (*iampb.GetIamPolicyRequest)(nil), // 79: mockgcp.iam.v1.GetIamPolicyRequest + (*iampb.SetIamPolicyRequest)(nil), // 80: mockgcp.iam.v1.SetIamPolicyRequest + (*iampb.TestIamPermissionsRequest)(nil), // 81: mockgcp.iam.v1.TestIamPermissionsRequest +} +var file_mockgcp_storage_v1_storage_proto_depIdxs = []int32{ + 61, // 0: mockgcp.storage.v1.DeleteBucketAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 1: mockgcp.storage.v1.GetBucketAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 64, // 2: mockgcp.storage.v1.InsertBucketAccessControlRequest.bucket_access_control:type_name -> mockgcp.storage.v1.BucketAccessControl + 61, // 3: mockgcp.storage.v1.InsertBucketAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 4: mockgcp.storage.v1.ListBucketAccessControlsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 64, // 5: mockgcp.storage.v1.PatchBucketAccessControlRequest.bucket_access_control:type_name -> mockgcp.storage.v1.BucketAccessControl + 65, // 6: mockgcp.storage.v1.PatchBucketAccessControlRequest.update_mask:type_name -> google.protobuf.FieldMask + 61, // 7: mockgcp.storage.v1.PatchBucketAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 64, // 8: mockgcp.storage.v1.UpdateBucketAccessControlRequest.bucket_access_control:type_name -> mockgcp.storage.v1.BucketAccessControl + 61, // 9: mockgcp.storage.v1.UpdateBucketAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 10: mockgcp.storage.v1.DeleteBucketRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 11: mockgcp.storage.v1.DeleteBucketRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 61, // 12: mockgcp.storage.v1.DeleteBucketRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 13: mockgcp.storage.v1.GetBucketRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 14: mockgcp.storage.v1.GetBucketRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 67, // 15: mockgcp.storage.v1.GetBucketRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 61, // 16: mockgcp.storage.v1.GetBucketRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 68, // 17: mockgcp.storage.v1.InsertBucketRequest.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedBucketAcl + 69, // 18: mockgcp.storage.v1.InsertBucketRequest.predefined_default_object_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 67, // 19: mockgcp.storage.v1.InsertBucketRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 70, // 20: mockgcp.storage.v1.InsertBucketRequest.bucket:type_name -> mockgcp.storage.v1.Bucket + 61, // 21: mockgcp.storage.v1.InsertBucketRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 22: mockgcp.storage.v1.ListChannelsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 67, // 23: mockgcp.storage.v1.ListBucketsRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 61, // 24: mockgcp.storage.v1.ListBucketsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 25: mockgcp.storage.v1.LockRetentionPolicyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 26: mockgcp.storage.v1.PatchBucketRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 27: mockgcp.storage.v1.PatchBucketRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 68, // 28: mockgcp.storage.v1.PatchBucketRequest.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedBucketAcl + 69, // 29: mockgcp.storage.v1.PatchBucketRequest.predefined_default_object_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 67, // 30: mockgcp.storage.v1.PatchBucketRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 70, // 31: mockgcp.storage.v1.PatchBucketRequest.metadata:type_name -> mockgcp.storage.v1.Bucket + 65, // 32: mockgcp.storage.v1.PatchBucketRequest.update_mask:type_name -> google.protobuf.FieldMask + 61, // 33: mockgcp.storage.v1.PatchBucketRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 34: mockgcp.storage.v1.UpdateBucketRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 35: mockgcp.storage.v1.UpdateBucketRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 68, // 36: mockgcp.storage.v1.UpdateBucketRequest.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedBucketAcl + 69, // 37: mockgcp.storage.v1.UpdateBucketRequest.predefined_default_object_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 67, // 38: mockgcp.storage.v1.UpdateBucketRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 70, // 39: mockgcp.storage.v1.UpdateBucketRequest.metadata:type_name -> mockgcp.storage.v1.Bucket + 61, // 40: mockgcp.storage.v1.UpdateBucketRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 71, // 41: mockgcp.storage.v1.StopChannelRequest.channel:type_name -> mockgcp.storage.v1.Channel + 61, // 42: mockgcp.storage.v1.StopChannelRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 43: mockgcp.storage.v1.DeleteDefaultObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 44: mockgcp.storage.v1.GetDefaultObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 72, // 45: mockgcp.storage.v1.InsertDefaultObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 61, // 46: mockgcp.storage.v1.InsertDefaultObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 47: mockgcp.storage.v1.ListDefaultObjectAccessControlsRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 48: mockgcp.storage.v1.ListDefaultObjectAccessControlsRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 61, // 49: mockgcp.storage.v1.ListDefaultObjectAccessControlsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 72, // 50: mockgcp.storage.v1.PatchDefaultObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 65, // 51: mockgcp.storage.v1.PatchDefaultObjectAccessControlRequest.update_mask:type_name -> google.protobuf.FieldMask + 61, // 52: mockgcp.storage.v1.PatchDefaultObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 72, // 53: mockgcp.storage.v1.UpdateDefaultObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 61, // 54: mockgcp.storage.v1.UpdateDefaultObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 55: mockgcp.storage.v1.DeleteNotificationRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 56: mockgcp.storage.v1.GetNotificationRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 73, // 57: mockgcp.storage.v1.InsertNotificationRequest.notification:type_name -> mockgcp.storage.v1.Notification + 61, // 58: mockgcp.storage.v1.InsertNotificationRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 59: mockgcp.storage.v1.ListNotificationsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 60: mockgcp.storage.v1.DeleteObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 61: mockgcp.storage.v1.GetObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 72, // 62: mockgcp.storage.v1.InsertObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 61, // 63: mockgcp.storage.v1.InsertObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 64: mockgcp.storage.v1.ListObjectAccessControlsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 72, // 65: mockgcp.storage.v1.PatchObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 61, // 66: mockgcp.storage.v1.PatchObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 65, // 67: mockgcp.storage.v1.PatchObjectAccessControlRequest.update_mask:type_name -> google.protobuf.FieldMask + 72, // 68: mockgcp.storage.v1.UpdateObjectAccessControlRequest.object_access_control:type_name -> mockgcp.storage.v1.ObjectAccessControl + 61, // 69: mockgcp.storage.v1.UpdateObjectAccessControlRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 65, // 70: mockgcp.storage.v1.UpdateObjectAccessControlRequest.update_mask:type_name -> google.protobuf.FieldMask + 69, // 71: mockgcp.storage.v1.ComposeObjectRequest.destination_predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 74, // 72: mockgcp.storage.v1.ComposeObjectRequest.destination:type_name -> mockgcp.storage.v1.Object + 62, // 73: mockgcp.storage.v1.ComposeObjectRequest.source_objects:type_name -> mockgcp.storage.v1.ComposeObjectRequest.SourceObjects + 66, // 74: mockgcp.storage.v1.ComposeObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 75: mockgcp.storage.v1.ComposeObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 60, // 76: mockgcp.storage.v1.ComposeObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 77: mockgcp.storage.v1.ComposeObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 69, // 78: mockgcp.storage.v1.CopyObjectRequest.destination_predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 66, // 79: mockgcp.storage.v1.CopyObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 80: mockgcp.storage.v1.CopyObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 81: mockgcp.storage.v1.CopyObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 82: mockgcp.storage.v1.CopyObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 66, // 83: mockgcp.storage.v1.CopyObjectRequest.if_source_generation_match:type_name -> google.protobuf.Int64Value + 66, // 84: mockgcp.storage.v1.CopyObjectRequest.if_source_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 85: mockgcp.storage.v1.CopyObjectRequest.if_source_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 86: mockgcp.storage.v1.CopyObjectRequest.if_source_metageneration_not_match:type_name -> google.protobuf.Int64Value + 67, // 87: mockgcp.storage.v1.CopyObjectRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 74, // 88: mockgcp.storage.v1.CopyObjectRequest.destination:type_name -> mockgcp.storage.v1.Object + 60, // 89: mockgcp.storage.v1.CopyObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 90: mockgcp.storage.v1.CopyObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 91: mockgcp.storage.v1.DeleteObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 92: mockgcp.storage.v1.DeleteObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 93: mockgcp.storage.v1.DeleteObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 94: mockgcp.storage.v1.DeleteObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 60, // 95: mockgcp.storage.v1.DeleteObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 96: mockgcp.storage.v1.DeleteObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 97: mockgcp.storage.v1.GetObjectMediaRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 98: mockgcp.storage.v1.GetObjectMediaRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 99: mockgcp.storage.v1.GetObjectMediaRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 100: mockgcp.storage.v1.GetObjectMediaRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 60, // 101: mockgcp.storage.v1.GetObjectMediaRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 102: mockgcp.storage.v1.GetObjectMediaRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 103: mockgcp.storage.v1.GetObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 104: mockgcp.storage.v1.GetObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 105: mockgcp.storage.v1.GetObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 106: mockgcp.storage.v1.GetObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 67, // 107: mockgcp.storage.v1.GetObjectRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 60, // 108: mockgcp.storage.v1.GetObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 109: mockgcp.storage.v1.GetObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 75, // 110: mockgcp.storage.v1.GetObjectMediaResponse.checksummed_data:type_name -> mockgcp.storage.v1.ChecksummedData + 76, // 111: mockgcp.storage.v1.GetObjectMediaResponse.object_checksums:type_name -> mockgcp.storage.v1.ObjectChecksums + 77, // 112: mockgcp.storage.v1.GetObjectMediaResponse.content_range:type_name -> mockgcp.storage.v1.ContentRange + 74, // 113: mockgcp.storage.v1.GetObjectMediaResponse.metadata:type_name -> mockgcp.storage.v1.Object + 74, // 114: mockgcp.storage.v1.InsertObjectSpec.resource:type_name -> mockgcp.storage.v1.Object + 69, // 115: mockgcp.storage.v1.InsertObjectSpec.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 66, // 116: mockgcp.storage.v1.InsertObjectSpec.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 117: mockgcp.storage.v1.InsertObjectSpec.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 118: mockgcp.storage.v1.InsertObjectSpec.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 119: mockgcp.storage.v1.InsertObjectSpec.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 67, // 120: mockgcp.storage.v1.InsertObjectSpec.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 37, // 121: mockgcp.storage.v1.InsertObjectRequest.insert_object_spec:type_name -> mockgcp.storage.v1.InsertObjectSpec + 75, // 122: mockgcp.storage.v1.InsertObjectRequest.checksummed_data:type_name -> mockgcp.storage.v1.ChecksummedData + 34, // 123: mockgcp.storage.v1.InsertObjectRequest.reference:type_name -> mockgcp.storage.v1.GetObjectMediaRequest + 76, // 124: mockgcp.storage.v1.InsertObjectRequest.object_checksums:type_name -> mockgcp.storage.v1.ObjectChecksums + 60, // 125: mockgcp.storage.v1.InsertObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 126: mockgcp.storage.v1.InsertObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 67, // 127: mockgcp.storage.v1.ListObjectsRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 61, // 128: mockgcp.storage.v1.ListObjectsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 60, // 129: mockgcp.storage.v1.QueryWriteStatusRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 130: mockgcp.storage.v1.QueryWriteStatusRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 74, // 131: mockgcp.storage.v1.QueryWriteStatusResponse.resource:type_name -> mockgcp.storage.v1.Object + 69, // 132: mockgcp.storage.v1.RewriteObjectRequest.destination_predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 66, // 133: mockgcp.storage.v1.RewriteObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 134: mockgcp.storage.v1.RewriteObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 135: mockgcp.storage.v1.RewriteObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 136: mockgcp.storage.v1.RewriteObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 66, // 137: mockgcp.storage.v1.RewriteObjectRequest.if_source_generation_match:type_name -> google.protobuf.Int64Value + 66, // 138: mockgcp.storage.v1.RewriteObjectRequest.if_source_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 139: mockgcp.storage.v1.RewriteObjectRequest.if_source_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 140: mockgcp.storage.v1.RewriteObjectRequest.if_source_metageneration_not_match:type_name -> google.protobuf.Int64Value + 67, // 141: mockgcp.storage.v1.RewriteObjectRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 74, // 142: mockgcp.storage.v1.RewriteObjectRequest.object:type_name -> mockgcp.storage.v1.Object + 60, // 143: mockgcp.storage.v1.RewriteObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 144: mockgcp.storage.v1.RewriteObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 74, // 145: mockgcp.storage.v1.RewriteResponse.resource:type_name -> mockgcp.storage.v1.Object + 37, // 146: mockgcp.storage.v1.StartResumableWriteRequest.insert_object_spec:type_name -> mockgcp.storage.v1.InsertObjectSpec + 60, // 147: mockgcp.storage.v1.StartResumableWriteRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 148: mockgcp.storage.v1.StartResumableWriteRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 149: mockgcp.storage.v1.PatchObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 150: mockgcp.storage.v1.PatchObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 151: mockgcp.storage.v1.PatchObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 152: mockgcp.storage.v1.PatchObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 69, // 153: mockgcp.storage.v1.PatchObjectRequest.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 67, // 154: mockgcp.storage.v1.PatchObjectRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 74, // 155: mockgcp.storage.v1.PatchObjectRequest.metadata:type_name -> mockgcp.storage.v1.Object + 65, // 156: mockgcp.storage.v1.PatchObjectRequest.update_mask:type_name -> google.protobuf.FieldMask + 60, // 157: mockgcp.storage.v1.PatchObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 158: mockgcp.storage.v1.PatchObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 66, // 159: mockgcp.storage.v1.UpdateObjectRequest.if_generation_match:type_name -> google.protobuf.Int64Value + 66, // 160: mockgcp.storage.v1.UpdateObjectRequest.if_generation_not_match:type_name -> google.protobuf.Int64Value + 66, // 161: mockgcp.storage.v1.UpdateObjectRequest.if_metageneration_match:type_name -> google.protobuf.Int64Value + 66, // 162: mockgcp.storage.v1.UpdateObjectRequest.if_metageneration_not_match:type_name -> google.protobuf.Int64Value + 69, // 163: mockgcp.storage.v1.UpdateObjectRequest.predefined_acl:type_name -> mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + 67, // 164: mockgcp.storage.v1.UpdateObjectRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 74, // 165: mockgcp.storage.v1.UpdateObjectRequest.metadata:type_name -> mockgcp.storage.v1.Object + 60, // 166: mockgcp.storage.v1.UpdateObjectRequest.common_object_request_params:type_name -> mockgcp.storage.v1.CommonObjectRequestParams + 61, // 167: mockgcp.storage.v1.UpdateObjectRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 67, // 168: mockgcp.storage.v1.WatchAllObjectsRequest.projection:type_name -> mockgcp.storage.v1.CommonEnums.Projection + 71, // 169: mockgcp.storage.v1.WatchAllObjectsRequest.channel:type_name -> mockgcp.storage.v1.Channel + 61, // 170: mockgcp.storage.v1.WatchAllObjectsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 171: mockgcp.storage.v1.GetProjectServiceAccountRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 172: mockgcp.storage.v1.CreateHmacKeyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 78, // 173: mockgcp.storage.v1.CreateHmacKeyResponse.metadata:type_name -> mockgcp.storage.v1.HmacKeyMetadata + 61, // 174: mockgcp.storage.v1.DeleteHmacKeyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 175: mockgcp.storage.v1.GetHmacKeyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 61, // 176: mockgcp.storage.v1.ListHmacKeysRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 78, // 177: mockgcp.storage.v1.ListHmacKeysResponse.items:type_name -> mockgcp.storage.v1.HmacKeyMetadata + 78, // 178: mockgcp.storage.v1.UpdateHmacKeyRequest.metadata:type_name -> mockgcp.storage.v1.HmacKeyMetadata + 61, // 179: mockgcp.storage.v1.UpdateHmacKeyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 79, // 180: mockgcp.storage.v1.GetIamPolicyRequest.iam_request:type_name -> mockgcp.iam.v1.GetIamPolicyRequest + 61, // 181: mockgcp.storage.v1.GetIamPolicyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 80, // 182: mockgcp.storage.v1.SetIamPolicyRequest.iam_request:type_name -> mockgcp.iam.v1.SetIamPolicyRequest + 61, // 183: mockgcp.storage.v1.SetIamPolicyRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 81, // 184: mockgcp.storage.v1.TestIamPermissionsRequest.iam_request:type_name -> mockgcp.iam.v1.TestIamPermissionsRequest + 61, // 185: mockgcp.storage.v1.TestIamPermissionsRequest.common_request_params:type_name -> mockgcp.storage.v1.CommonRequestParams + 65, // 186: mockgcp.storage.v1.CommonRequestParams.fields:type_name -> google.protobuf.FieldMask + 63, // 187: mockgcp.storage.v1.ComposeObjectRequest.SourceObjects.object_preconditions:type_name -> mockgcp.storage.v1.ComposeObjectRequest.SourceObjects.ObjectPreconditions + 66, // 188: mockgcp.storage.v1.ComposeObjectRequest.SourceObjects.ObjectPreconditions.if_generation_match:type_name -> google.protobuf.Int64Value + 189, // [189:189] is the sub-list for method output_type + 189, // [189:189] is the sub-list for method input_type + 189, // [189:189] is the sub-list for extension type_name + 189, // [189:189] is the sub-list for extension extendee + 0, // [0:189] is the sub-list for field type_name +} + +func init() { file_mockgcp_storage_v1_storage_proto_init() } +func file_mockgcp_storage_v1_storage_proto_init() { + if File_mockgcp_storage_v1_storage_proto != nil { + return + } + file_mockgcp_storage_v1_storage_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_storage_v1_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBucketAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBucketAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertBucketAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBucketAccessControlsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchBucketAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateBucketAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListChannelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBucketsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LockRetentionPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopChannelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDefaultObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDefaultObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertDefaultObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDefaultObjectAccessControlsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchDefaultObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDefaultObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotificationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotificationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertNotificationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotificationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListObjectAccessControlsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateObjectAccessControlRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComposeObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CopyObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetObjectMediaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetObjectMediaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertObjectSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryWriteStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryWriteStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewriteObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RewriteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartResumableWriteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartResumableWriteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WatchAllObjectsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectServiceAccountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateHmacKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateHmacKeyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteHmacKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetHmacKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHmacKeysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHmacKeysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateHmacKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetIamPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetIamPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonObjectRequestParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonRequestParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComposeObjectRequest_SourceObjects); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComposeObjectRequest_SourceObjects_ObjectPreconditions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_storage_v1_storage_proto_msgTypes[38].OneofWrappers = []interface{}{ + (*InsertObjectRequest_UploadId)(nil), + (*InsertObjectRequest_InsertObjectSpec)(nil), + (*InsertObjectRequest_ChecksummedData)(nil), + (*InsertObjectRequest_Reference)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_storage_v1_storage_proto_rawDesc, + NumEnums: 0, + NumMessages: 64, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_storage_v1_storage_proto_goTypes, + DependencyIndexes: file_mockgcp_storage_v1_storage_proto_depIdxs, + MessageInfos: file_mockgcp_storage_v1_storage_proto_msgTypes, + }.Build() + File_mockgcp_storage_v1_storage_proto = out.File + file_mockgcp_storage_v1_storage_proto_rawDesc = nil + file_mockgcp_storage_v1_storage_proto_goTypes = nil + file_mockgcp_storage_v1_storage_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/storage/v1/storage_resources.pb.go b/mockgcp/generated/mockgcp/storage/v1/storage_resources.pb.go new file mode 100644 index 0000000000..851c3f8003 --- /dev/null +++ b/mockgcp/generated/mockgcp/storage/v1/storage_resources.pb.go @@ -0,0 +1,4612 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/storage/v1/storage_resources.proto + +package storage + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Public Access Prevention configuration values. +type Bucket_IamConfiguration_PublicAccessPrevention int32 + +const ( + // No specified PublicAccessPrevention. + Bucket_IamConfiguration_PUBLIC_ACCESS_PREVENTION_UNSPECIFIED Bucket_IamConfiguration_PublicAccessPrevention = 0 + // Prevents access from being granted to public members 'allUsers' and + // 'allAuthenticatedUsers'. Prevents attempts to grant new access to + // public members. + Bucket_IamConfiguration_ENFORCED Bucket_IamConfiguration_PublicAccessPrevention = 1 + // This setting is inherited from Org Policy. Does not prevent access from + // being granted to public members 'allUsers' or 'allAuthenticatedUsers'. + Bucket_IamConfiguration_INHERITED Bucket_IamConfiguration_PublicAccessPrevention = 2 +) + +// Enum value maps for Bucket_IamConfiguration_PublicAccessPrevention. +var ( + Bucket_IamConfiguration_PublicAccessPrevention_name = map[int32]string{ + 0: "PUBLIC_ACCESS_PREVENTION_UNSPECIFIED", + 1: "ENFORCED", + 2: "INHERITED", + } + Bucket_IamConfiguration_PublicAccessPrevention_value = map[string]int32{ + "PUBLIC_ACCESS_PREVENTION_UNSPECIFIED": 0, + "ENFORCED": 1, + "INHERITED": 2, + } +) + +func (x Bucket_IamConfiguration_PublicAccessPrevention) Enum() *Bucket_IamConfiguration_PublicAccessPrevention { + p := new(Bucket_IamConfiguration_PublicAccessPrevention) + *p = x + return p +} + +func (x Bucket_IamConfiguration_PublicAccessPrevention) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Bucket_IamConfiguration_PublicAccessPrevention) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_storage_v1_storage_resources_proto_enumTypes[0].Descriptor() +} + +func (Bucket_IamConfiguration_PublicAccessPrevention) Type() protoreflect.EnumType { + return &file_mockgcp_storage_v1_storage_resources_proto_enumTypes[0] +} + +func (x Bucket_IamConfiguration_PublicAccessPrevention) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Bucket_IamConfiguration_PublicAccessPrevention.Descriptor instead. +func (Bucket_IamConfiguration_PublicAccessPrevention) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 3, 0} +} + +// A set of properties to return in a response. +type CommonEnums_Projection int32 + +const ( + // No specified projection. + CommonEnums_PROJECTION_UNSPECIFIED CommonEnums_Projection = 0 + // Omit `owner`, `acl`, and `defaultObjectAcl` properties. + CommonEnums_NO_ACL CommonEnums_Projection = 1 + // Include all properties. + CommonEnums_FULL CommonEnums_Projection = 2 +) + +// Enum value maps for CommonEnums_Projection. +var ( + CommonEnums_Projection_name = map[int32]string{ + 0: "PROJECTION_UNSPECIFIED", + 1: "NO_ACL", + 2: "FULL", + } + CommonEnums_Projection_value = map[string]int32{ + "PROJECTION_UNSPECIFIED": 0, + "NO_ACL": 1, + "FULL": 2, + } +) + +func (x CommonEnums_Projection) Enum() *CommonEnums_Projection { + p := new(CommonEnums_Projection) + *p = x + return p +} + +func (x CommonEnums_Projection) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommonEnums_Projection) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_storage_v1_storage_resources_proto_enumTypes[1].Descriptor() +} + +func (CommonEnums_Projection) Type() protoreflect.EnumType { + return &file_mockgcp_storage_v1_storage_resources_proto_enumTypes[1] +} + +func (x CommonEnums_Projection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommonEnums_Projection.Descriptor instead. +func (CommonEnums_Projection) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 0} +} + +// Predefined or "canned" aliases for sets of specific bucket ACL entries. +type CommonEnums_PredefinedBucketAcl int32 + +const ( + // No predefined ACL. + CommonEnums_PREDEFINED_BUCKET_ACL_UNSPECIFIED CommonEnums_PredefinedBucketAcl = 0 + // Project team owners get `OWNER` access, and + // `allAuthenticatedUsers` get `READER` access. + CommonEnums_BUCKET_ACL_AUTHENTICATED_READ CommonEnums_PredefinedBucketAcl = 1 + // Project team owners get `OWNER` access. + CommonEnums_BUCKET_ACL_PRIVATE CommonEnums_PredefinedBucketAcl = 2 + // Project team members get access according to their roles. + CommonEnums_BUCKET_ACL_PROJECT_PRIVATE CommonEnums_PredefinedBucketAcl = 3 + // Project team owners get `OWNER` access, and + // `allUsers` get `READER` access. + CommonEnums_BUCKET_ACL_PUBLIC_READ CommonEnums_PredefinedBucketAcl = 4 + // Project team owners get `OWNER` access, and + // `allUsers` get `WRITER` access. + CommonEnums_BUCKET_ACL_PUBLIC_READ_WRITE CommonEnums_PredefinedBucketAcl = 5 +) + +// Enum value maps for CommonEnums_PredefinedBucketAcl. +var ( + CommonEnums_PredefinedBucketAcl_name = map[int32]string{ + 0: "PREDEFINED_BUCKET_ACL_UNSPECIFIED", + 1: "BUCKET_ACL_AUTHENTICATED_READ", + 2: "BUCKET_ACL_PRIVATE", + 3: "BUCKET_ACL_PROJECT_PRIVATE", + 4: "BUCKET_ACL_PUBLIC_READ", + 5: "BUCKET_ACL_PUBLIC_READ_WRITE", + } + CommonEnums_PredefinedBucketAcl_value = map[string]int32{ + "PREDEFINED_BUCKET_ACL_UNSPECIFIED": 0, + "BUCKET_ACL_AUTHENTICATED_READ": 1, + "BUCKET_ACL_PRIVATE": 2, + "BUCKET_ACL_PROJECT_PRIVATE": 3, + "BUCKET_ACL_PUBLIC_READ": 4, + "BUCKET_ACL_PUBLIC_READ_WRITE": 5, + } +) + +func (x CommonEnums_PredefinedBucketAcl) Enum() *CommonEnums_PredefinedBucketAcl { + p := new(CommonEnums_PredefinedBucketAcl) + *p = x + return p +} + +func (x CommonEnums_PredefinedBucketAcl) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommonEnums_PredefinedBucketAcl) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_storage_v1_storage_resources_proto_enumTypes[2].Descriptor() +} + +func (CommonEnums_PredefinedBucketAcl) Type() protoreflect.EnumType { + return &file_mockgcp_storage_v1_storage_resources_proto_enumTypes[2] +} + +func (x CommonEnums_PredefinedBucketAcl) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommonEnums_PredefinedBucketAcl.Descriptor instead. +func (CommonEnums_PredefinedBucketAcl) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 1} +} + +// Predefined or "canned" aliases for sets of specific object ACL entries. +type CommonEnums_PredefinedObjectAcl int32 + +const ( + // No predefined ACL. + CommonEnums_PREDEFINED_OBJECT_ACL_UNSPECIFIED CommonEnums_PredefinedObjectAcl = 0 + // Object owner gets `OWNER` access, and + // `allAuthenticatedUsers` get `READER` access. + CommonEnums_OBJECT_ACL_AUTHENTICATED_READ CommonEnums_PredefinedObjectAcl = 1 + // Object owner gets `OWNER` access, and project team owners get + // `OWNER` access. + CommonEnums_OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL CommonEnums_PredefinedObjectAcl = 2 + // Object owner gets `OWNER` access, and project team owners get + // `READER` access. + CommonEnums_OBJECT_ACL_BUCKET_OWNER_READ CommonEnums_PredefinedObjectAcl = 3 + // Object owner gets `OWNER` access. + CommonEnums_OBJECT_ACL_PRIVATE CommonEnums_PredefinedObjectAcl = 4 + // Object owner gets `OWNER` access, and project team members get + // access according to their roles. + CommonEnums_OBJECT_ACL_PROJECT_PRIVATE CommonEnums_PredefinedObjectAcl = 5 + // Object owner gets `OWNER` access, and `allUsers` + // get `READER` access. + CommonEnums_OBJECT_ACL_PUBLIC_READ CommonEnums_PredefinedObjectAcl = 6 +) + +// Enum value maps for CommonEnums_PredefinedObjectAcl. +var ( + CommonEnums_PredefinedObjectAcl_name = map[int32]string{ + 0: "PREDEFINED_OBJECT_ACL_UNSPECIFIED", + 1: "OBJECT_ACL_AUTHENTICATED_READ", + 2: "OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL", + 3: "OBJECT_ACL_BUCKET_OWNER_READ", + 4: "OBJECT_ACL_PRIVATE", + 5: "OBJECT_ACL_PROJECT_PRIVATE", + 6: "OBJECT_ACL_PUBLIC_READ", + } + CommonEnums_PredefinedObjectAcl_value = map[string]int32{ + "PREDEFINED_OBJECT_ACL_UNSPECIFIED": 0, + "OBJECT_ACL_AUTHENTICATED_READ": 1, + "OBJECT_ACL_BUCKET_OWNER_FULL_CONTROL": 2, + "OBJECT_ACL_BUCKET_OWNER_READ": 3, + "OBJECT_ACL_PRIVATE": 4, + "OBJECT_ACL_PROJECT_PRIVATE": 5, + "OBJECT_ACL_PUBLIC_READ": 6, + } +) + +func (x CommonEnums_PredefinedObjectAcl) Enum() *CommonEnums_PredefinedObjectAcl { + p := new(CommonEnums_PredefinedObjectAcl) + *p = x + return p +} + +func (x CommonEnums_PredefinedObjectAcl) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommonEnums_PredefinedObjectAcl) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_storage_v1_storage_resources_proto_enumTypes[3].Descriptor() +} + +func (CommonEnums_PredefinedObjectAcl) Type() protoreflect.EnumType { + return &file_mockgcp_storage_v1_storage_resources_proto_enumTypes[3] +} + +func (x CommonEnums_PredefinedObjectAcl) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommonEnums_PredefinedObjectAcl.Descriptor instead. +func (CommonEnums_PredefinedObjectAcl) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8, 2} +} + +// A bucket. +type Bucket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Access controls on the bucket. + Acl []*BucketAccessControl `protobuf:"bytes,1,rep,name=acl,proto3" json:"acl,omitempty"` + // Default access controls to apply to new objects when no ACL is provided. + DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,2,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"` + // The bucket's lifecycle configuration. See + // [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management] + // for more information. + Lifecycle *Bucket_Lifecycle `protobuf:"bytes,3,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` + // The creation time of the bucket in + // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + TimeCreated *timestamp.Timestamp `protobuf:"bytes,4,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"` + // The ID of the bucket. For buckets, the `id` and `name` properties are the + // same. + // Attempting to update this field after the bucket is created will result in + // a [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + // The name of the bucket. + // Attempting to update this field after the bucket is created will result in + // an error. + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // The project number of the project the bucket belongs to. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + ProjectNumber int64 `protobuf:"varint,7,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"` + // The metadata generation of this bucket. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Metageneration int64 `protobuf:"varint,8,opt,name=metageneration,proto3" json:"metageneration,omitempty"` + // The bucket's [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing] + // (CORS) configuration. + Cors []*Bucket_Cors `protobuf:"bytes,9,rep,name=cors,proto3" json:"cors,omitempty"` + // The location of the bucket. Object data for objects in the bucket resides + // in physical storage within this region. Defaults to `US`. See the + // [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's + // guide] for the authoritative list. Attempting to update this field after + // the bucket is created will result in an error. + Location string `protobuf:"bytes,10,opt,name=location,proto3" json:"location,omitempty"` + // The bucket's default storage class, used whenever no storageClass is + // specified for a newly-created object. This defines how objects in the + // bucket are stored and determines the SLA and the cost of storage. + // If this value is not specified when the bucket is created, it will default + // to `STANDARD`. For more information, see + // https://developers.google.com/storage/docs/storage-classes. + StorageClass string `protobuf:"bytes,11,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"` + // HTTP 1.1 [https://tools.ietf.org/html/rfc7232#section-2.3"]Entity tag] + // for the bucket. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"` + // The modification time of the bucket. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Updated *timestamp.Timestamp `protobuf:"bytes,13,opt,name=updated,proto3" json:"updated,omitempty"` + // The default value for event-based hold on newly created objects in this + // bucket. Event-based hold is a way to retain objects indefinitely until an + // event occurs, signified by the + // hold's release. After being released, such objects will be subject to + // bucket-level retention (if any). One sample use case of this flag is for + // banks to hold loan documents for at least 3 years after loan is paid in + // full. Here, bucket-level retention is 3 years and the event is loan being + // paid in full. In this example, these objects will be held intact for any + // number of years until the event has occurred (event-based hold on the + // object is released) and then 3 more years after that. That means retention + // duration of the objects begins from the moment event-based hold + // transitioned from true to false. Objects under event-based hold cannot be + // deleted, overwritten or archived until the hold is removed. + DefaultEventBasedHold bool `protobuf:"varint,14,opt,name=default_event_based_hold,json=defaultEventBasedHold,proto3" json:"default_event_based_hold,omitempty"` + // User-provided labels, in key/value pairs. + Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The bucket's website configuration, controlling how the service behaves + // when accessing bucket contents as a web site. See the + // [https://cloud.google.com/storage/docs/static-website][Static Website + // Examples] for more information. + Website *Bucket_Website `protobuf:"bytes,16,opt,name=website,proto3" json:"website,omitempty"` + // The bucket's versioning configuration. + Versioning *Bucket_Versioning `protobuf:"bytes,17,opt,name=versioning,proto3" json:"versioning,omitempty"` + // The bucket's logging configuration, which defines the destination bucket + // and optional name prefix for the current bucket's logs. + Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"` + // The owner of the bucket. This is always the project team's owner group. + Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"` + // Encryption configuration for a bucket. + Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"` + // The bucket's billing configuration. + Billing *Bucket_Billing `protobuf:"bytes,21,opt,name=billing,proto3" json:"billing,omitempty"` + // The bucket's retention policy. The retention policy enforces a minimum + // retention time for all objects contained in the bucket, based on their + // creation time. Any attempt to overwrite or delete objects younger than the + // retention period will result in a PERMISSION_DENIED error. An unlocked + // retention policy can be modified or removed from the bucket via a + // storage.buckets.update operation. A locked retention policy cannot be + // removed or shortened in duration for the lifetime of the bucket. + // Attempting to remove or decrease period of a locked retention policy will + // result in a PERMISSION_DENIED error. + RetentionPolicy *Bucket_RetentionPolicy `protobuf:"bytes,22,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"` + // The location type of the bucket (region, dual-region, multi-region, etc). + LocationType string `protobuf:"bytes,23,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"` + // The bucket's IAM configuration. + IamConfiguration *Bucket_IamConfiguration `protobuf:"bytes,24,opt,name=iam_configuration,json=iamConfiguration,proto3" json:"iam_configuration,omitempty"` + // The zone or zones from which the bucket is intended to use zonal quota. + // Requests for data from outside the specified affinities are still allowed + // but won't be able to use zonal quota. The values are case-insensitive. + // Attempting to update this field after bucket is created will result in an + // error. + // + // Deprecated: Do not use. + ZoneAffinity []string `protobuf:"bytes,25,rep,name=zone_affinity,json=zoneAffinity,proto3" json:"zone_affinity,omitempty"` + // Reserved for future use. + SatisfiesPzs bool `protobuf:"varint,26,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` + // The bucket's autoclass configuration. If there is no configuration, the + // Autoclass feature will be disabled and have no effect on the bucket. + Autoclass *Bucket_Autoclass `protobuf:"bytes,28,opt,name=autoclass,proto3" json:"autoclass,omitempty"` +} + +func (x *Bucket) Reset() { + *x = Bucket{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket) ProtoMessage() {} + +func (x *Bucket) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[0] + 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 Bucket.ProtoReflect.Descriptor instead. +func (*Bucket) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *Bucket) GetAcl() []*BucketAccessControl { + if x != nil { + return x.Acl + } + return nil +} + +func (x *Bucket) GetDefaultObjectAcl() []*ObjectAccessControl { + if x != nil { + return x.DefaultObjectAcl + } + return nil +} + +func (x *Bucket) GetLifecycle() *Bucket_Lifecycle { + if x != nil { + return x.Lifecycle + } + return nil +} + +func (x *Bucket) GetTimeCreated() *timestamp.Timestamp { + if x != nil { + return x.TimeCreated + } + return nil +} + +func (x *Bucket) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Bucket) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Bucket) GetProjectNumber() int64 { + if x != nil { + return x.ProjectNumber + } + return 0 +} + +func (x *Bucket) GetMetageneration() int64 { + if x != nil { + return x.Metageneration + } + return 0 +} + +func (x *Bucket) GetCors() []*Bucket_Cors { + if x != nil { + return x.Cors + } + return nil +} + +func (x *Bucket) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *Bucket) GetStorageClass() string { + if x != nil { + return x.StorageClass + } + return "" +} + +func (x *Bucket) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Bucket) GetUpdated() *timestamp.Timestamp { + if x != nil { + return x.Updated + } + return nil +} + +func (x *Bucket) GetDefaultEventBasedHold() bool { + if x != nil { + return x.DefaultEventBasedHold + } + return false +} + +func (x *Bucket) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Bucket) GetWebsite() *Bucket_Website { + if x != nil { + return x.Website + } + return nil +} + +func (x *Bucket) GetVersioning() *Bucket_Versioning { + if x != nil { + return x.Versioning + } + return nil +} + +func (x *Bucket) GetLogging() *Bucket_Logging { + if x != nil { + return x.Logging + } + return nil +} + +func (x *Bucket) GetOwner() *Owner { + if x != nil { + return x.Owner + } + return nil +} + +func (x *Bucket) GetEncryption() *Bucket_Encryption { + if x != nil { + return x.Encryption + } + return nil +} + +func (x *Bucket) GetBilling() *Bucket_Billing { + if x != nil { + return x.Billing + } + return nil +} + +func (x *Bucket) GetRetentionPolicy() *Bucket_RetentionPolicy { + if x != nil { + return x.RetentionPolicy + } + return nil +} + +func (x *Bucket) GetLocationType() string { + if x != nil { + return x.LocationType + } + return "" +} + +func (x *Bucket) GetIamConfiguration() *Bucket_IamConfiguration { + if x != nil { + return x.IamConfiguration + } + return nil +} + +// Deprecated: Do not use. +func (x *Bucket) GetZoneAffinity() []string { + if x != nil { + return x.ZoneAffinity + } + return nil +} + +func (x *Bucket) GetSatisfiesPzs() bool { + if x != nil { + return x.SatisfiesPzs + } + return false +} + +func (x *Bucket) GetAutoclass() *Bucket_Autoclass { + if x != nil { + return x.Autoclass + } + return nil +} + +// An access-control entry. +type BucketAccessControl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The access permission for the entity. + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + // HTTP 1.1 ["https://tools.ietf.org/html/rfc7232#section-2.3][Entity tag] + // for the access-control entry. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` + // The ID of the access-control entry. + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + // The name of the bucket. + Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` + // The entity holding the permission, in one of the following forms: + // * `user-{userid}` + // * `user-{email}` + // * `group-{groupid}` + // * `group-{email}` + // * `domain-{domain}` + // * `project-{team-projectid}` + // * `allUsers` + // * `allAuthenticatedUsers` + // Examples: + // * The user `liz@example.com` would be `user-liz@example.com`. + // * The group `example@googlegroups.com` would be + // `group-example@googlegroups.com` + // * All members of the Google Apps for Business domain `example.com` would be + // `domain-example.com` + Entity string `protobuf:"bytes,6,opt,name=entity,proto3" json:"entity,omitempty"` + // The ID for the entity, if any. + EntityId string `protobuf:"bytes,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // The email address associated with the entity, if any. + Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"` + // The domain associated with the entity, if any. + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain,omitempty"` + // The project team associated with the entity, if any. + ProjectTeam *ProjectTeam `protobuf:"bytes,10,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"` +} + +func (x *BucketAccessControl) Reset() { + *x = BucketAccessControl{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BucketAccessControl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BucketAccessControl) ProtoMessage() {} + +func (x *BucketAccessControl) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[1] + 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 BucketAccessControl.ProtoReflect.Descriptor instead. +func (*BucketAccessControl) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{1} +} + +func (x *BucketAccessControl) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *BucketAccessControl) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *BucketAccessControl) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BucketAccessControl) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *BucketAccessControl) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *BucketAccessControl) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *BucketAccessControl) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *BucketAccessControl) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *BucketAccessControl) GetProjectTeam() *ProjectTeam { + if x != nil { + return x.ProjectTeam + } + return nil +} + +// The response to a call to BucketAccessControls.ListBucketAccessControls. +type ListBucketAccessControlsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of items. + Items []*BucketAccessControl `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ListBucketAccessControlsResponse) Reset() { + *x = ListBucketAccessControlsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBucketAccessControlsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBucketAccessControlsResponse) ProtoMessage() {} + +func (x *ListBucketAccessControlsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_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 ListBucketAccessControlsResponse.ProtoReflect.Descriptor instead. +func (*ListBucketAccessControlsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{2} +} + +func (x *ListBucketAccessControlsResponse) GetItems() []*BucketAccessControl { + if x != nil { + return x.Items + } + return nil +} + +// The result of a call to Buckets.ListBuckets +type ListBucketsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of items. + Items []*Bucket `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + // The continuation token, used to page through large result sets. Provide + // this value in a subsequent request to return the next page of results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListBucketsResponse) Reset() { + *x = ListBucketsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBucketsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBucketsResponse) ProtoMessage() {} + +func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[3] + 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 ListBucketsResponse.ProtoReflect.Descriptor instead. +func (*ListBucketsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{3} +} + +func (x *ListBucketsResponse) GetItems() []*Bucket { + if x != nil { + return x.Items + } + return nil +} + +func (x *ListBucketsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// An notification channel used to watch for resource changes. +type Channel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A UUID or similar unique string that identifies this channel. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // An opaque ID that identifies the resource being watched on this channel. + // Stable across different API versions. + ResourceId string `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // A version-specific identifier for the watched resource. + ResourceUri string `protobuf:"bytes,3,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + // An arbitrary string delivered to the target address with each notification + // delivered over this channel. Optional. + Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` + // Date and time of notification channel expiration. Optional. + Expiration *timestamp.Timestamp `protobuf:"bytes,5,opt,name=expiration,proto3" json:"expiration,omitempty"` + // The type of delivery mechanism used for this channel. + Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` + // The address where notifications are delivered for this channel. + Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` + // Additional parameters controlling delivery channel behavior. Optional. + Params map[string]string `protobuf:"bytes,8,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // A Boolean value to indicate whether payload is wanted. Optional. + Payload bool `protobuf:"varint,9,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *Channel) Reset() { + *x = Channel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Channel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Channel) ProtoMessage() {} + +func (x *Channel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[4] + 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 Channel.ProtoReflect.Descriptor instead. +func (*Channel) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{4} +} + +func (x *Channel) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Channel) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *Channel) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +func (x *Channel) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *Channel) GetExpiration() *timestamp.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + +func (x *Channel) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Channel) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *Channel) GetParams() map[string]string { + if x != nil { + return x.Params + } + return nil +} + +func (x *Channel) GetPayload() bool { + if x != nil { + return x.Payload + } + return false +} + +// The result of a call to Channels.ListChannels +type ListChannelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of notification channels for a bucket. + Items []*ListChannelsResponse_Items `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ListChannelsResponse) Reset() { + *x = ListChannelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListChannelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChannelsResponse) ProtoMessage() {} + +func (x *ListChannelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[5] + 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 ListChannelsResponse.ProtoReflect.Descriptor instead. +func (*ListChannelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{5} +} + +func (x *ListChannelsResponse) GetItems() []*ListChannelsResponse_Items { + if x != nil { + return x.Items + } + return nil +} + +// Message used to convey content being read or written, along with its +// checksum. +type ChecksummedData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The data. + Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + // CRC32C digest of the contents. + Crc32C *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=crc32c,proto3" json:"crc32c,omitempty"` +} + +func (x *ChecksummedData) Reset() { + *x = ChecksummedData{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChecksummedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChecksummedData) ProtoMessage() {} + +func (x *ChecksummedData) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_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 ChecksummedData.ProtoReflect.Descriptor instead. +func (*ChecksummedData) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{6} +} + +func (x *ChecksummedData) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *ChecksummedData) GetCrc32C() *wrappers.UInt32Value { + if x != nil { + return x.Crc32C + } + return nil +} + +// Message used for storing full (not subrange) object checksums. +type ObjectChecksums struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // CRC32C digest of the object data. Computed by the GCS service for + // all written objects, and validated by the GCS service against + // client-supplied values if present in an InsertObjectRequest. + Crc32C *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=crc32c,proto3" json:"crc32c,omitempty"` + // Hex-encoded MD5 hash of the object data (hexdigest). Whether/how this + // checksum is provided and validated is service-dependent. + Md5Hash string `protobuf:"bytes,2,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"` +} + +func (x *ObjectChecksums) Reset() { + *x = ObjectChecksums{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectChecksums) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectChecksums) ProtoMessage() {} + +func (x *ObjectChecksums) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[7] + 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 ObjectChecksums.ProtoReflect.Descriptor instead. +func (*ObjectChecksums) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{7} +} + +func (x *ObjectChecksums) GetCrc32C() *wrappers.UInt32Value { + if x != nil { + return x.Crc32C + } + return nil +} + +func (x *ObjectChecksums) GetMd5Hash() string { + if x != nil { + return x.Md5Hash + } + return "" +} + +// A collection of enums used in multiple places throughout the API. +type CommonEnums struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommonEnums) Reset() { + *x = CommonEnums{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonEnums) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonEnums) ProtoMessage() {} + +func (x *CommonEnums) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_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 CommonEnums.ProtoReflect.Descriptor instead. +func (*CommonEnums) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{8} +} + +// Specifies a requested range of bytes to download. +type ContentRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The starting offset of the object data. + Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + // The ending offset of the object data. + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + // The complete length of the object data. + CompleteLength int64 `protobuf:"varint,3,opt,name=complete_length,json=completeLength,proto3" json:"complete_length,omitempty"` +} + +func (x *ContentRange) Reset() { + *x = ContentRange{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContentRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContentRange) ProtoMessage() {} + +func (x *ContentRange) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[9] + 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 ContentRange.ProtoReflect.Descriptor instead. +func (*ContentRange) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{9} +} + +func (x *ContentRange) GetStart() int64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *ContentRange) GetEnd() int64 { + if x != nil { + return x.End + } + return 0 +} + +func (x *ContentRange) GetCompleteLength() int64 { + if x != nil { + return x.CompleteLength + } + return 0 +} + +// Hmac Key Metadata, which includes all information other than the secret. +type HmacKeyMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Resource name ID of the key in the format /. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Globally unique id for keys. + AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` + // The project ID that the hmac key is contained in. + ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Email of the service account the key authenticates as. + ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` + // State of the key. One of ACTIVE, INACTIVE, or DELETED. + State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` + // The creation time of the HMAC key in RFC 3339 format. + TimeCreated *timestamp.Timestamp `protobuf:"bytes,6,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"` + // The last modification time of the HMAC key metadata in RFC 3339 format. + Updated *timestamp.Timestamp `protobuf:"bytes,7,opt,name=updated,proto3" json:"updated,omitempty"` + // Tag updated with each key update. + Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *HmacKeyMetadata) Reset() { + *x = HmacKeyMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HmacKeyMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HmacKeyMetadata) ProtoMessage() {} + +func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[10] + 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 HmacKeyMetadata.ProtoReflect.Descriptor instead. +func (*HmacKeyMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{10} +} + +func (x *HmacKeyMetadata) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *HmacKeyMetadata) GetAccessId() string { + if x != nil { + return x.AccessId + } + return "" +} + +func (x *HmacKeyMetadata) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *HmacKeyMetadata) GetServiceAccountEmail() string { + if x != nil { + return x.ServiceAccountEmail + } + return "" +} + +func (x *HmacKeyMetadata) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *HmacKeyMetadata) GetTimeCreated() *timestamp.Timestamp { + if x != nil { + return x.TimeCreated + } + return nil +} + +func (x *HmacKeyMetadata) GetUpdated() *timestamp.Timestamp { + if x != nil { + return x.Updated + } + return nil +} + +func (x *HmacKeyMetadata) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// A subscription to receive Google PubSub notifications. +type Notification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Cloud PubSub topic to which this subscription publishes. Formatted as: + // '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}' + Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` + // If present, only send notifications about listed event types. If empty, + // sent notifications for all event types. + EventTypes []string `protobuf:"bytes,2,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"` + // An optional list of additional attributes to attach to each Cloud PubSub + // message published for this notification subscription. + CustomAttributes map[string]string `protobuf:"bytes,3,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // HTTP 1.1 [https://tools.ietf.org/html/rfc7232#section-2.3][Entity tag] + // for this subscription notification. + Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` + // If present, only apply this notification configuration to object names that + // begin with this prefix. + ObjectNamePrefix string `protobuf:"bytes,5,opt,name=object_name_prefix,json=objectNamePrefix,proto3" json:"object_name_prefix,omitempty"` + // The desired content of the Payload. + PayloadFormat string `protobuf:"bytes,6,opt,name=payload_format,json=payloadFormat,proto3" json:"payload_format,omitempty"` + // The ID of the notification. + Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Notification) Reset() { + *x = Notification{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notification) ProtoMessage() {} + +func (x *Notification) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[11] + 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 Notification.ProtoReflect.Descriptor instead. +func (*Notification) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{11} +} + +func (x *Notification) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (x *Notification) GetEventTypes() []string { + if x != nil { + return x.EventTypes + } + return nil +} + +func (x *Notification) GetCustomAttributes() map[string]string { + if x != nil { + return x.CustomAttributes + } + return nil +} + +func (x *Notification) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Notification) GetObjectNamePrefix() string { + if x != nil { + return x.ObjectNamePrefix + } + return "" +} + +func (x *Notification) GetPayloadFormat() string { + if x != nil { + return x.PayloadFormat + } + return "" +} + +func (x *Notification) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// The result of a call to Notifications.ListNotifications +type ListNotificationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of items. + Items []*Notification `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ListNotificationsResponse) Reset() { + *x = ListNotificationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotificationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotificationsResponse) ProtoMessage() {} + +func (x *ListNotificationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[12] + 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 ListNotificationsResponse.ProtoReflect.Descriptor instead. +func (*ListNotificationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{12} +} + +func (x *ListNotificationsResponse) GetItems() []*Notification { + if x != nil { + return x.Items + } + return nil +} + +// An object. +type Object struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Content-Encoding of the object data, matching + // [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2] + ContentEncoding string `protobuf:"bytes,1,opt,name=content_encoding,json=contentEncoding,proto3" json:"content_encoding,omitempty"` + // Content-Disposition of the object data, matching + // [https://tools.ietf.org/html/rfc6266][RFC 6266]. + ContentDisposition string `protobuf:"bytes,2,opt,name=content_disposition,json=contentDisposition,proto3" json:"content_disposition,omitempty"` + // Cache-Control directive for the object data, matching + // [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2]. + // If omitted, and the object is accessible to all anonymous users, the + // default will be `public, max-age=3600`. + CacheControl string `protobuf:"bytes,3,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"` + // Access controls on the object. + Acl []*ObjectAccessControl `protobuf:"bytes,4,rep,name=acl,proto3" json:"acl,omitempty"` + // Content-Language of the object data, matching + // [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2]. + ContentLanguage string `protobuf:"bytes,5,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"` + // The version of the metadata for this object at this generation. Used for + // preconditions and for detecting changes in metadata. A metageneration + // number is only meaningful in the context of a particular generation of a + // particular object. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Metageneration int64 `protobuf:"varint,6,opt,name=metageneration,proto3" json:"metageneration,omitempty"` + // The deletion time of the object. Will be returned if and only if this + // version of the object has been deleted. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + TimeDeleted *timestamp.Timestamp `protobuf:"bytes,7,opt,name=time_deleted,json=timeDeleted,proto3" json:"time_deleted,omitempty"` + // Content-Type of the object data, matching + // [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5]. + // If an object is stored without a Content-Type, it is served as + // `application/octet-stream`. + ContentType string `protobuf:"bytes,8,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` + // Content-Length of the object data in bytes, matching + // [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2]. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Size int64 `protobuf:"varint,9,opt,name=size,proto3" json:"size,omitempty"` + // The creation time of the object. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + TimeCreated *timestamp.Timestamp `protobuf:"bytes,10,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"` + // CRC32c checksum. For more information about using the CRC32c + // checksum, see + // [https://cloud.google.com/storage/docs/hashes-etags#json-api][Hashes and + // ETags: Best Practices]. This is a server determined value and should not be + // supplied by the user when sending an Object. The server will ignore any + // value provided. Users should instead use the object_checksums field on the + // InsertObjectRequest when uploading an object. + Crc32C *wrappers.UInt32Value `protobuf:"bytes,11,opt,name=crc32c,proto3" json:"crc32c,omitempty"` + // Number of underlying components that make up this object. Components are + // accumulated by compose operations. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + ComponentCount int32 `protobuf:"varint,12,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"` + // MD5 hash of the data; encoded using base64 as per + // [https://tools.ietf.org/html/rfc4648#section-4][RFC 4648 §4]. For more + // information about using the MD5 hash, see + // [https://cloud.google.com/storage/docs/hashes-etags#json-api][Hashes and + // ETags: Best Practices]. This is a server determined value and should not be + // supplied by the user when sending an Object. The server will ignore any + // value provided. Users should instead use the object_checksums field on the + // InsertObjectRequest when uploading an object. + Md5Hash string `protobuf:"bytes,13,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"` + // HTTP 1.1 Entity tag for the object. See + // [https://tools.ietf.org/html/rfc7232#section-2.3][RFC 7232 §2.3]. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` + // The modification time of the object metadata. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Updated *timestamp.Timestamp `protobuf:"bytes,15,opt,name=updated,proto3" json:"updated,omitempty"` + // Storage class of the object. + StorageClass string `protobuf:"bytes,16,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"` + // Cloud KMS Key used to encrypt this object, if the object is encrypted by + // such a key. + KmsKeyName string `protobuf:"bytes,17,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` + // The time at which the object's storage class was last changed. When the + // object is initially created, it will be set to time_created. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + TimeStorageClassUpdated *timestamp.Timestamp `protobuf:"bytes,18,opt,name=time_storage_class_updated,json=timeStorageClassUpdated,proto3" json:"time_storage_class_updated,omitempty"` + // Whether an object is under temporary hold. While this flag is set to true, + // the object is protected against deletion and overwrites. A common use case + // of this flag is regulatory investigations where objects need to be retained + // while the investigation is ongoing. Note that unlike event-based hold, + // temporary hold does not impact retention expiration time of an object. + TemporaryHold bool `protobuf:"varint,19,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"` + // A server-determined value that specifies the earliest time that the + // object's retention period expires. This value is in + // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + // Note 1: This field is not provided for objects with an active event-based + // hold, since retention expiration is unknown until the hold is removed. + // Note 2: This value can be provided even when temporary hold is set (so that + // the user can reason about policy without having to first unset the + // temporary hold). + RetentionExpirationTime *timestamp.Timestamp `protobuf:"bytes,20,opt,name=retention_expiration_time,json=retentionExpirationTime,proto3" json:"retention_expiration_time,omitempty"` + // User-provided metadata, in key/value pairs. + Metadata map[string]string `protobuf:"bytes,21,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Whether an object is under event-based hold. Event-based hold is a way to + // retain objects until an event occurs, which is signified by the + // hold's release (i.e. this value is set to false). After being released (set + // to false), such objects will be subject to bucket-level retention (if any). + // One sample use case of this flag is for banks to hold loan documents for at + // least 3 years after loan is paid in full. Here, bucket-level retention is 3 + // years and the event is the loan being paid in full. In this example, these + // objects will be held intact for any number of years until the event has + // occurred (event-based hold on the object is released) and then 3 more years + // after that. That means retention duration of the objects begins from the + // moment event-based hold transitioned from true to false. + EventBasedHold *wrappers.BoolValue `protobuf:"bytes,29,opt,name=event_based_hold,json=eventBasedHold,proto3" json:"event_based_hold,omitempty"` + // The name of the object. + // Attempting to update this field after the object is created will result in + // an error. + Name string `protobuf:"bytes,23,opt,name=name,proto3" json:"name,omitempty"` + // The ID of the object, including the bucket name, object name, and + // generation number. + // Attempting to update this field after the object is created will result in + // an error. + Id string `protobuf:"bytes,24,opt,name=id,proto3" json:"id,omitempty"` + // The name of the bucket containing this object. + // Attempting to update this field after the object is created will result in + // an error. + Bucket string `protobuf:"bytes,25,opt,name=bucket,proto3" json:"bucket,omitempty"` + // The content generation of this object. Used for object versioning. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Generation int64 `protobuf:"varint,26,opt,name=generation,proto3" json:"generation,omitempty"` + // The owner of the object. This will always be the uploader of the object. + // Attempting to set or update this field will result in a + // [FieldViolation][google.rpc.BadRequest.FieldViolation]. + Owner *Owner `protobuf:"bytes,27,opt,name=owner,proto3" json:"owner,omitempty"` + // Metadata of customer-supplied encryption key, if the object is encrypted by + // such a key. + CustomerEncryption *Object_CustomerEncryption `protobuf:"bytes,28,opt,name=customer_encryption,json=customerEncryption,proto3" json:"customer_encryption,omitempty"` + // A user-specified timestamp set on an object. + CustomTime *timestamp.Timestamp `protobuf:"bytes,30,opt,name=custom_time,json=customTime,proto3" json:"custom_time,omitempty"` +} + +func (x *Object) Reset() { + *x = Object{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Object) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Object) ProtoMessage() {} + +func (x *Object) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[13] + 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 Object.ProtoReflect.Descriptor instead. +func (*Object) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{13} +} + +func (x *Object) GetContentEncoding() string { + if x != nil { + return x.ContentEncoding + } + return "" +} + +func (x *Object) GetContentDisposition() string { + if x != nil { + return x.ContentDisposition + } + return "" +} + +func (x *Object) GetCacheControl() string { + if x != nil { + return x.CacheControl + } + return "" +} + +func (x *Object) GetAcl() []*ObjectAccessControl { + if x != nil { + return x.Acl + } + return nil +} + +func (x *Object) GetContentLanguage() string { + if x != nil { + return x.ContentLanguage + } + return "" +} + +func (x *Object) GetMetageneration() int64 { + if x != nil { + return x.Metageneration + } + return 0 +} + +func (x *Object) GetTimeDeleted() *timestamp.Timestamp { + if x != nil { + return x.TimeDeleted + } + return nil +} + +func (x *Object) GetContentType() string { + if x != nil { + return x.ContentType + } + return "" +} + +func (x *Object) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *Object) GetTimeCreated() *timestamp.Timestamp { + if x != nil { + return x.TimeCreated + } + return nil +} + +func (x *Object) GetCrc32C() *wrappers.UInt32Value { + if x != nil { + return x.Crc32C + } + return nil +} + +func (x *Object) GetComponentCount() int32 { + if x != nil { + return x.ComponentCount + } + return 0 +} + +func (x *Object) GetMd5Hash() string { + if x != nil { + return x.Md5Hash + } + return "" +} + +func (x *Object) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Object) GetUpdated() *timestamp.Timestamp { + if x != nil { + return x.Updated + } + return nil +} + +func (x *Object) GetStorageClass() string { + if x != nil { + return x.StorageClass + } + return "" +} + +func (x *Object) GetKmsKeyName() string { + if x != nil { + return x.KmsKeyName + } + return "" +} + +func (x *Object) GetTimeStorageClassUpdated() *timestamp.Timestamp { + if x != nil { + return x.TimeStorageClassUpdated + } + return nil +} + +func (x *Object) GetTemporaryHold() bool { + if x != nil { + return x.TemporaryHold + } + return false +} + +func (x *Object) GetRetentionExpirationTime() *timestamp.Timestamp { + if x != nil { + return x.RetentionExpirationTime + } + return nil +} + +func (x *Object) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Object) GetEventBasedHold() *wrappers.BoolValue { + if x != nil { + return x.EventBasedHold + } + return nil +} + +func (x *Object) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Object) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Object) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *Object) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *Object) GetOwner() *Owner { + if x != nil { + return x.Owner + } + return nil +} + +func (x *Object) GetCustomerEncryption() *Object_CustomerEncryption { + if x != nil { + return x.CustomerEncryption + } + return nil +} + +func (x *Object) GetCustomTime() *timestamp.Timestamp { + if x != nil { + return x.CustomTime + } + return nil +} + +// An access-control entry. +type ObjectAccessControl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The access permission for the entity. + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + // HTTP 1.1 Entity tag for the access-control entry. + // See [https://tools.ietf.org/html/rfc7232#section-2.3][RFC 7232 §2.3]. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` + // The ID of the access-control entry. + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + // The name of the bucket. + Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` + // The name of the object, if applied to an object. + Object string `protobuf:"bytes,5,opt,name=object,proto3" json:"object,omitempty"` + // The content generation of the object, if applied to an object. + Generation int64 `protobuf:"varint,6,opt,name=generation,proto3" json:"generation,omitempty"` + // The entity holding the permission, in one of the following forms: + // * `user-{userid}` + // * `user-{email}` + // * `group-{groupid}` + // * `group-{email}` + // * `domain-{domain}` + // * `project-{team-projectid}` + // * `allUsers` + // * `allAuthenticatedUsers` + // Examples: + // * The user `liz@example.com` would be `user-liz@example.com`. + // * The group `example@googlegroups.com` would be + // `group-example@googlegroups.com`. + // * All members of the Google Apps for Business domain `example.com` would be + // `domain-example.com`. + Entity string `protobuf:"bytes,7,opt,name=entity,proto3" json:"entity,omitempty"` + // The ID for the entity, if any. + EntityId string `protobuf:"bytes,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // The email address associated with the entity, if any. + Email string `protobuf:"bytes,9,opt,name=email,proto3" json:"email,omitempty"` + // The domain associated with the entity, if any. + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain,omitempty"` + // The project team associated with the entity, if any. + ProjectTeam *ProjectTeam `protobuf:"bytes,11,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"` +} + +func (x *ObjectAccessControl) Reset() { + *x = ObjectAccessControl{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectAccessControl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectAccessControl) ProtoMessage() {} + +func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[14] + 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 ObjectAccessControl.ProtoReflect.Descriptor instead. +func (*ObjectAccessControl) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{14} +} + +func (x *ObjectAccessControl) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *ObjectAccessControl) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *ObjectAccessControl) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ObjectAccessControl) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ObjectAccessControl) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *ObjectAccessControl) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *ObjectAccessControl) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *ObjectAccessControl) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *ObjectAccessControl) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ObjectAccessControl) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ObjectAccessControl) GetProjectTeam() *ProjectTeam { + if x != nil { + return x.ProjectTeam + } + return nil +} + +// The result of a call to ObjectAccessControls.ListObjectAccessControls. +type ListObjectAccessControlsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of items. + Items []*ObjectAccessControl `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ListObjectAccessControlsResponse) Reset() { + *x = ListObjectAccessControlsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListObjectAccessControlsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListObjectAccessControlsResponse) ProtoMessage() {} + +func (x *ListObjectAccessControlsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_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 ListObjectAccessControlsResponse.ProtoReflect.Descriptor instead. +func (*ListObjectAccessControlsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{15} +} + +func (x *ListObjectAccessControlsResponse) GetItems() []*ObjectAccessControl { + if x != nil { + return x.Items + } + return nil +} + +// The result of a call to Objects.ListObjects +type ListObjectsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of prefixes of objects matching-but-not-listed up to and including + // the requested delimiter. + Prefixes []string `protobuf:"bytes,1,rep,name=prefixes,proto3" json:"prefixes,omitempty"` + // The list of items. + Items []*Object `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` + // The continuation token, used to page through large result sets. Provide + // this value in a subsequent request to return the next page of results. + NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListObjectsResponse) Reset() { + *x = ListObjectsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListObjectsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListObjectsResponse) ProtoMessage() {} + +func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[16] + 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 ListObjectsResponse.ProtoReflect.Descriptor instead. +func (*ListObjectsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{16} +} + +func (x *ListObjectsResponse) GetPrefixes() []string { + if x != nil { + return x.Prefixes + } + return nil +} + +func (x *ListObjectsResponse) GetItems() []*Object { + if x != nil { + return x.Items + } + return nil +} + +func (x *ListObjectsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Represents the Viewers, Editors, or Owners of a given project. +type ProjectTeam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The project number. + ProjectNumber string `protobuf:"bytes,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"` + // The team. + Team string `protobuf:"bytes,2,opt,name=team,proto3" json:"team,omitempty"` +} + +func (x *ProjectTeam) Reset() { + *x = ProjectTeam{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectTeam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectTeam) ProtoMessage() {} + +func (x *ProjectTeam) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[17] + 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 ProjectTeam.ProtoReflect.Descriptor instead. +func (*ProjectTeam) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{17} +} + +func (x *ProjectTeam) GetProjectNumber() string { + if x != nil { + return x.ProjectNumber + } + return "" +} + +func (x *ProjectTeam) GetTeam() string { + if x != nil { + return x.Team + } + return "" +} + +// A subscription to receive Google PubSub notifications. +type ServiceAccount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the notification. + EmailAddress string `protobuf:"bytes,1,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"` +} + +func (x *ServiceAccount) Reset() { + *x = ServiceAccount{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAccount) ProtoMessage() {} + +func (x *ServiceAccount) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[18] + 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 ServiceAccount.ProtoReflect.Descriptor instead. +func (*ServiceAccount) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{18} +} + +func (x *ServiceAccount) GetEmailAddress() string { + if x != nil { + return x.EmailAddress + } + return "" +} + +// The owner of a specific resource. +type Owner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The entity, in the form `user-`*userId*. + Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` + // The ID for the entity. + EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` +} + +func (x *Owner) Reset() { + *x = Owner{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Owner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Owner) ProtoMessage() {} + +func (x *Owner) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[19] + 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 Owner.ProtoReflect.Descriptor instead. +func (*Owner) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{19} +} + +func (x *Owner) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +func (x *Owner) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +// Billing properties of a bucket. +type Bucket_Billing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When set to true, Requester Pays is enabled for this bucket. + RequesterPays bool `protobuf:"varint,1,opt,name=requester_pays,json=requesterPays,proto3" json:"requester_pays,omitempty"` +} + +func (x *Bucket_Billing) Reset() { + *x = Bucket_Billing{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Billing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Billing) ProtoMessage() {} + +func (x *Bucket_Billing) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[20] + 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 Bucket_Billing.ProtoReflect.Descriptor instead. +func (*Bucket_Billing) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Bucket_Billing) GetRequesterPays() bool { + if x != nil { + return x.RequesterPays + } + return false +} + +// Cross-Origin Response sharing (CORS) properties for a bucket. +// For more on GCS and CORS, see +// https://cloud.google.com/storage/docs/cross-origin. +// For more on CORS in general, see https://tools.ietf.org/html/rfc6454. +type Bucket_Cors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of Origins eligible to receive CORS response headers. See + // [https://tools.ietf.org/html/rfc6454][RFC 6454] for more on origins. + // Note: "*" is permitted in the list of origins, and means "any Origin". + Origin []string `protobuf:"bytes,1,rep,name=origin,proto3" json:"origin,omitempty"` + // The list of HTTP methods on which to include CORS response headers, + // (`GET`, `OPTIONS`, `POST`, etc) Note: "*" is permitted in the list of + // methods, and means "any method". + Method []string `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"` + // The list of HTTP headers other than the + // [https://www.w3.org/TR/cors/#simple-response-header][simple response + // headers] to give permission for the user-agent to share across domains. + ResponseHeader []string `protobuf:"bytes,3,rep,name=response_header,json=responseHeader,proto3" json:"response_header,omitempty"` + // The value, in seconds, to return in the + // [https://www.w3.org/TR/cors/#access-control-max-age-response-header][Access-Control-Max-Age + // header] used in preflight responses. + MaxAgeSeconds int32 `protobuf:"varint,4,opt,name=max_age_seconds,json=maxAgeSeconds,proto3" json:"max_age_seconds,omitempty"` +} + +func (x *Bucket_Cors) Reset() { + *x = Bucket_Cors{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Cors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Cors) ProtoMessage() {} + +func (x *Bucket_Cors) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[21] + 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 Bucket_Cors.ProtoReflect.Descriptor instead. +func (*Bucket_Cors) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Bucket_Cors) GetOrigin() []string { + if x != nil { + return x.Origin + } + return nil +} + +func (x *Bucket_Cors) GetMethod() []string { + if x != nil { + return x.Method + } + return nil +} + +func (x *Bucket_Cors) GetResponseHeader() []string { + if x != nil { + return x.ResponseHeader + } + return nil +} + +func (x *Bucket_Cors) GetMaxAgeSeconds() int32 { + if x != nil { + return x.MaxAgeSeconds + } + return 0 +} + +// Encryption properties of a bucket. +type Bucket_Encryption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A Cloud KMS key that will be used to encrypt objects inserted into this + // bucket, if no encryption method is specified. + DefaultKmsKeyName string `protobuf:"bytes,1,opt,name=default_kms_key_name,json=defaultKmsKeyName,proto3" json:"default_kms_key_name,omitempty"` +} + +func (x *Bucket_Encryption) Reset() { + *x = Bucket_Encryption{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Encryption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Encryption) ProtoMessage() {} + +func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[22] + 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 Bucket_Encryption.ProtoReflect.Descriptor instead. +func (*Bucket_Encryption) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *Bucket_Encryption) GetDefaultKmsKeyName() string { + if x != nil { + return x.DefaultKmsKeyName + } + return "" +} + +// Bucket restriction options currently enforced on the bucket. +type Bucket_IamConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UniformBucketLevelAccess *Bucket_IamConfiguration_UniformBucketLevelAccess `protobuf:"bytes,1,opt,name=uniform_bucket_level_access,json=uniformBucketLevelAccess,proto3" json:"uniform_bucket_level_access,omitempty"` + // Whether IAM will enforce public access prevention. + PublicAccessPrevention Bucket_IamConfiguration_PublicAccessPrevention `protobuf:"varint,2,opt,name=public_access_prevention,json=publicAccessPrevention,proto3,enum=mockgcp.storage.v1.Bucket_IamConfiguration_PublicAccessPrevention" json:"public_access_prevention,omitempty"` +} + +func (x *Bucket_IamConfiguration) Reset() { + *x = Bucket_IamConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_IamConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_IamConfiguration) ProtoMessage() {} + +func (x *Bucket_IamConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[23] + 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 Bucket_IamConfiguration.ProtoReflect.Descriptor instead. +func (*Bucket_IamConfiguration) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *Bucket_IamConfiguration) GetUniformBucketLevelAccess() *Bucket_IamConfiguration_UniformBucketLevelAccess { + if x != nil { + return x.UniformBucketLevelAccess + } + return nil +} + +func (x *Bucket_IamConfiguration) GetPublicAccessPrevention() Bucket_IamConfiguration_PublicAccessPrevention { + if x != nil { + return x.PublicAccessPrevention + } + return Bucket_IamConfiguration_PUBLIC_ACCESS_PREVENTION_UNSPECIFIED +} + +// Lifecycle properties of a bucket. +// For more information, see https://cloud.google.com/storage/docs/lifecycle. +type Bucket_Lifecycle struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A lifecycle management rule, which is made of an action to take and the + // condition(s) under which the action will be taken. + Rule []*Bucket_Lifecycle_Rule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"` +} + +func (x *Bucket_Lifecycle) Reset() { + *x = Bucket_Lifecycle{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Lifecycle) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Lifecycle) ProtoMessage() {} + +func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[24] + 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 Bucket_Lifecycle.ProtoReflect.Descriptor instead. +func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule { + if x != nil { + return x.Rule + } + return nil +} + +// Logging-related properties of a bucket. +type Bucket_Logging struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The destination bucket where the current bucket's logs should be placed. + LogBucket string `protobuf:"bytes,1,opt,name=log_bucket,json=logBucket,proto3" json:"log_bucket,omitempty"` + // A prefix for log object names. + LogObjectPrefix string `protobuf:"bytes,2,opt,name=log_object_prefix,json=logObjectPrefix,proto3" json:"log_object_prefix,omitempty"` +} + +func (x *Bucket_Logging) Reset() { + *x = Bucket_Logging{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Logging) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Logging) ProtoMessage() {} + +func (x *Bucket_Logging) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[25] + 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 Bucket_Logging.ProtoReflect.Descriptor instead. +func (*Bucket_Logging) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *Bucket_Logging) GetLogBucket() string { + if x != nil { + return x.LogBucket + } + return "" +} + +func (x *Bucket_Logging) GetLogObjectPrefix() string { + if x != nil { + return x.LogObjectPrefix + } + return "" +} + +// Retention policy properties of a bucket. +type Bucket_RetentionPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Server-determined value that indicates the time from which policy was + // enforced and effective. This value is in + // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + EffectiveTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` + // Once locked, an object retention policy cannot be modified. + IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"` + // The duration in seconds that objects need to be retained. Retention + // duration must be greater than zero and less than 100 years. Note that + // enforcement of retention periods less than a day is not guaranteed. Such + // periods should only be used for testing purposes. + RetentionPeriod int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3" json:"retention_period,omitempty"` +} + +func (x *Bucket_RetentionPolicy) Reset() { + *x = Bucket_RetentionPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_RetentionPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_RetentionPolicy) ProtoMessage() {} + +func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[26] + 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 Bucket_RetentionPolicy.ProtoReflect.Descriptor instead. +func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamp.Timestamp { + if x != nil { + return x.EffectiveTime + } + return nil +} + +func (x *Bucket_RetentionPolicy) GetIsLocked() bool { + if x != nil { + return x.IsLocked + } + return false +} + +func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 { + if x != nil { + return x.RetentionPeriod + } + return 0 +} + +// Properties of a bucket related to versioning. +// For more on GCS versioning, see +// https://cloud.google.com/storage/docs/object-versioning. +type Bucket_Versioning struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // While set to true, versioning is fully enabled for this bucket. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` +} + +func (x *Bucket_Versioning) Reset() { + *x = Bucket_Versioning{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Versioning) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Versioning) ProtoMessage() {} + +func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[27] + 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 Bucket_Versioning.ProtoReflect.Descriptor instead. +func (*Bucket_Versioning) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *Bucket_Versioning) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +// Properties of a bucket related to accessing the contents as a static +// website. For more on hosting a static website via GCS, see +// https://cloud.google.com/storage/docs/hosting-static-website. +type Bucket_Website struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If the requested object path is missing, the service will ensure the path + // has a trailing '/', append this suffix, and attempt to retrieve the + // resulting object. This allows the creation of `index.html` + // objects to represent directory pages. + MainPageSuffix string `protobuf:"bytes,1,opt,name=main_page_suffix,json=mainPageSuffix,proto3" json:"main_page_suffix,omitempty"` + // If the requested object path is missing, and any + // `mainPageSuffix` object is missing, if applicable, the service + // will return the named object from this bucket as the content for a + // [https://tools.ietf.org/html/rfc7231#section-6.5.4][404 Not Found] + // result. + NotFoundPage string `protobuf:"bytes,2,opt,name=not_found_page,json=notFoundPage,proto3" json:"not_found_page,omitempty"` +} + +func (x *Bucket_Website) Reset() { + *x = Bucket_Website{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Website) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Website) ProtoMessage() {} + +func (x *Bucket_Website) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[28] + 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 Bucket_Website.ProtoReflect.Descriptor instead. +func (*Bucket_Website) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *Bucket_Website) GetMainPageSuffix() string { + if x != nil { + return x.MainPageSuffix + } + return "" +} + +func (x *Bucket_Website) GetNotFoundPage() string { + if x != nil { + return x.NotFoundPage + } + return "" +} + +// Configuration for a bucket's Autoclass feature. +type Bucket_Autoclass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enables Autoclass. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Latest instant at which the `enabled` bit was flipped. + ToggleTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=toggle_time,json=toggleTime,proto3" json:"toggle_time,omitempty"` +} + +func (x *Bucket_Autoclass) Reset() { + *x = Bucket_Autoclass{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Autoclass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Autoclass) ProtoMessage() {} + +func (x *Bucket_Autoclass) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[29] + 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 Bucket_Autoclass.ProtoReflect.Descriptor instead. +func (*Bucket_Autoclass) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *Bucket_Autoclass) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *Bucket_Autoclass) GetToggleTime() *timestamp.Timestamp { + if x != nil { + return x.ToggleTime + } + return nil +} + +type Bucket_IamConfiguration_UniformBucketLevelAccess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If set, access checks only use bucket-level IAM policies or above. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // The deadline time for changing + // iamConfiguration.uniformBucketLevelAccess.enabled from + // true to false in [https://tools.ietf.org/html/rfc3339][RFC 3339]. After + // the deadline is passed the field is immutable. + LockedTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=locked_time,json=lockedTime,proto3" json:"locked_time,omitempty"` +} + +func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) Reset() { + *x = Bucket_IamConfiguration_UniformBucketLevelAccess{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_IamConfiguration_UniformBucketLevelAccess) ProtoMessage() {} + +func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[31] + 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 Bucket_IamConfiguration_UniformBucketLevelAccess.ProtoReflect.Descriptor instead. +func (*Bucket_IamConfiguration_UniformBucketLevelAccess) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *Bucket_IamConfiguration_UniformBucketLevelAccess) GetLockedTime() *timestamp.Timestamp { + if x != nil { + return x.LockedTime + } + return nil +} + +// A lifecycle Rule, combining an action to take on an object and a +// condition which will trigger that action. +type Bucket_Lifecycle_Rule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The action to take. + Action *Bucket_Lifecycle_Rule_Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + // The condition(s) under which the action will be taken. + Condition *Bucket_Lifecycle_Rule_Condition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"` +} + +func (x *Bucket_Lifecycle_Rule) Reset() { + *x = Bucket_Lifecycle_Rule{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Lifecycle_Rule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Lifecycle_Rule) ProtoMessage() {} + +func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[32] + 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 Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead. +func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0} +} + +func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action { + if x != nil { + return x.Action + } + return nil +} + +func (x *Bucket_Lifecycle_Rule) GetCondition() *Bucket_Lifecycle_Rule_Condition { + if x != nil { + return x.Condition + } + return nil +} + +// An action to take on an object. +type Bucket_Lifecycle_Rule_Action struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the action. Currently, only `Delete`, `SetStorageClass`, and + // `AbortIncompleteMultipartUpload` are supported. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Target storage class. Required iff the type of the action is + // SetStorageClass. + StorageClass string `protobuf:"bytes,2,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"` +} + +func (x *Bucket_Lifecycle_Rule_Action) Reset() { + *x = Bucket_Lifecycle_Rule_Action{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Lifecycle_Rule_Action) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {} + +func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[33] + 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 Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead. +func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0, 0} +} + +func (x *Bucket_Lifecycle_Rule_Action) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Bucket_Lifecycle_Rule_Action) GetStorageClass() string { + if x != nil { + return x.StorageClass + } + return "" +} + +// A condition of an object which triggers some action. +type Bucket_Lifecycle_Rule_Condition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Age of an object (in days). This condition is satisfied when an + // object reaches the specified age. + Age int32 `protobuf:"varint,1,opt,name=age,proto3" json:"age,omitempty"` + // A date in [RFC 3339][1] format with only the date part (for + // instance, "2013-01-15"). This condition is satisfied when an + // object is created before midnight of the specified date in UTC. + // [1]: https://tools.ietf.org/html/rfc3339 + CreatedBefore *timestamp.Timestamp `protobuf:"bytes,2,opt,name=created_before,json=createdBefore,proto3" json:"created_before,omitempty"` + // Relevant only for versioned objects. If the value is + // `true`, this condition matches live objects; if the value + // is `false`, it matches archived objects. + IsLive *wrappers.BoolValue `protobuf:"bytes,3,opt,name=is_live,json=isLive,proto3" json:"is_live,omitempty"` + // Relevant only for versioned objects. If the value is N, this + // condition is satisfied when there are at least N versions (including + // the live version) newer than this version of the object. + NumNewerVersions int32 `protobuf:"varint,4,opt,name=num_newer_versions,json=numNewerVersions,proto3" json:"num_newer_versions,omitempty"` + // Objects having any of the storage classes specified by this condition + // will be matched. Values include `MULTI_REGIONAL`, `REGIONAL`, + // `NEARLINE`, `COLDLINE`, `STANDARD`, and + // `DURABLE_REDUCED_AVAILABILITY`. + MatchesStorageClass []string `protobuf:"bytes,5,rep,name=matches_storage_class,json=matchesStorageClass,proto3" json:"matches_storage_class,omitempty"` + // A regular expression that satisfies the RE2 syntax. This condition is + // satisfied when the name of the object matches the RE2 pattern. Note: + // This feature is currently in the "Early Access" launch stage and is + // only available to an allowlisted set of users; that means that this + // feature may be changed in backward-incompatible ways and that it is + // not guaranteed to be released. + MatchesPattern string `protobuf:"bytes,6,opt,name=matches_pattern,json=matchesPattern,proto3" json:"matches_pattern,omitempty"` + // Number of days that has elapsed since the custom timestamp set on an + // object. + DaysSinceCustomTime int32 `protobuf:"varint,7,opt,name=days_since_custom_time,json=daysSinceCustomTime,proto3" json:"days_since_custom_time,omitempty"` + // An object matches this condition if the custom timestamp set on the + // object is before this timestamp. + CustomTimeBefore *timestamp.Timestamp `protobuf:"bytes,8,opt,name=custom_time_before,json=customTimeBefore,proto3" json:"custom_time_before,omitempty"` + // This condition is relevant only for versioned objects. An object + // version satisfies this condition only if these many days have been + // passed since it became noncurrent. The value of the field must be a + // nonnegative integer. If it's zero, the object version will become + // eligible for Lifecycle action as soon as it becomes noncurrent. + DaysSinceNoncurrentTime int32 `protobuf:"varint,9,opt,name=days_since_noncurrent_time,json=daysSinceNoncurrentTime,proto3" json:"days_since_noncurrent_time,omitempty"` + // This condition is relevant only for versioned objects. An object + // version satisfies this condition only if it became noncurrent before + // the specified timestamp. + NoncurrentTimeBefore *timestamp.Timestamp `protobuf:"bytes,10,opt,name=noncurrent_time_before,json=noncurrentTimeBefore,proto3" json:"noncurrent_time_before,omitempty"` + // List of object name prefixes. If any prefix exactly matches the + // beginning of the object name, the condition evaluates to true. + MatchesPrefix []string `protobuf:"bytes,11,rep,name=matches_prefix,json=matchesPrefix,proto3" json:"matches_prefix,omitempty"` + // List of object name suffixes. If any suffix exactly matches the + // end of the object name, the condition evaluates to true. + MatchesSuffix []string `protobuf:"bytes,12,rep,name=matches_suffix,json=matchesSuffix,proto3" json:"matches_suffix,omitempty"` +} + +func (x *Bucket_Lifecycle_Rule_Condition) Reset() { + *x = Bucket_Lifecycle_Rule_Condition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Bucket_Lifecycle_Rule_Condition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {} + +func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[34] + 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 Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead. +func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{0, 4, 0, 1} +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetAge() int32 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetCreatedBefore() *timestamp.Timestamp { + if x != nil { + return x.CreatedBefore + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetIsLive() *wrappers.BoolValue { + if x != nil { + return x.IsLive + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetNumNewerVersions() int32 { + if x != nil { + return x.NumNewerVersions + } + return 0 +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesStorageClass() []string { + if x != nil { + return x.MatchesStorageClass + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesPattern() string { + if x != nil { + return x.MatchesPattern + } + return "" +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceCustomTime() int32 { + if x != nil { + return x.DaysSinceCustomTime + } + return 0 +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetCustomTimeBefore() *timestamp.Timestamp { + if x != nil { + return x.CustomTimeBefore + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceNoncurrentTime() int32 { + if x != nil { + return x.DaysSinceNoncurrentTime + } + return 0 +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetNoncurrentTimeBefore() *timestamp.Timestamp { + if x != nil { + return x.NoncurrentTimeBefore + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesPrefix() []string { + if x != nil { + return x.MatchesPrefix + } + return nil +} + +func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesSuffix() []string { + if x != nil { + return x.MatchesSuffix + } + return nil +} + +type ListChannelsResponse_Items struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User-specified name for a channel. Needed to unsubscribe. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Opaque value generated by GCS representing a bucket. Needed to + // unsubscribe. + ResourceId string `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Url used to identify where notifications are sent to. + PushUrl string `protobuf:"bytes,3,opt,name=push_url,json=pushUrl,proto3" json:"push_url,omitempty"` + // Email address of the subscriber. + SubscriberEmail string `protobuf:"bytes,4,opt,name=subscriber_email,json=subscriberEmail,proto3" json:"subscriber_email,omitempty"` + // Time when the channel was created. + CreationTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` +} + +func (x *ListChannelsResponse_Items) Reset() { + *x = ListChannelsResponse_Items{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListChannelsResponse_Items) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChannelsResponse_Items) ProtoMessage() {} + +func (x *ListChannelsResponse_Items) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[36] + 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 ListChannelsResponse_Items.ProtoReflect.Descriptor instead. +func (*ListChannelsResponse_Items) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *ListChannelsResponse_Items) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ListChannelsResponse_Items) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *ListChannelsResponse_Items) GetPushUrl() string { + if x != nil { + return x.PushUrl + } + return "" +} + +func (x *ListChannelsResponse_Items) GetSubscriberEmail() string { + if x != nil { + return x.SubscriberEmail + } + return "" +} + +func (x *ListChannelsResponse_Items) GetCreationTime() *timestamp.Timestamp { + if x != nil { + return x.CreationTime + } + return nil +} + +// Describes the customer-specified mechanism used to store the data at rest. +type Object_CustomerEncryption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The encryption algorithm. + EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"` + // SHA256 hash value of the encryption key. + KeySha256 string `protobuf:"bytes,2,opt,name=key_sha256,json=keySha256,proto3" json:"key_sha256,omitempty"` +} + +func (x *Object_CustomerEncryption) Reset() { + *x = Object_CustomerEncryption{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Object_CustomerEncryption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Object_CustomerEncryption) ProtoMessage() {} + +func (x *Object_CustomerEncryption) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_storage_v1_storage_resources_proto_msgTypes[38] + 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 Object_CustomerEncryption.ProtoReflect.Descriptor instead. +func (*Object_CustomerEncryption) Descriptor() ([]byte, []int) { + return file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP(), []int{13, 0} +} + +func (x *Object_CustomerEncryption) GetEncryptionAlgorithm() string { + if x != nil { + return x.EncryptionAlgorithm + } + return "" +} + +func (x *Object_CustomerEncryption) GetKeySha256() string { + if x != nil { + return x.KeySha256 + } + return "" +} + +var File_mockgcp_storage_v1_storage_resources_proto protoreflect.FileDescriptor + +var file_mockgcp_storage_v1_storage_resources_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xde, 0x1c, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x03, + 0x61, 0x63, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x55, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x42, + 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, + 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 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, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, + 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, + 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x34, + 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, 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, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3e, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3c, 0x0a, + 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x12, 0x2f, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, + 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, + 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x61, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0d, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x19, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x7a, 0x6f, 0x6e, 0x65, 0x41, 0x66, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, + 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, + 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x30, + 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x73, + 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, + 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0a, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4b, + 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xea, 0x03, 0x0a, 0x10, 0x49, 0x61, + 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x83, + 0x01, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x66, + 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x7c, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x71, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x28, 0x0a, 0x24, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x46, + 0x4f, 0x52, 0x43, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x48, 0x45, 0x52, + 0x49, 0x54, 0x45, 0x44, 0x10, 0x02, 0x1a, 0xb2, 0x07, 0x0a, 0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, + 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, + 0x75, 0x6c, 0x65, 0x1a, 0xe5, 0x06, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x48, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, + 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xfc, 0x04, 0x0a, + 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x0e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, + 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, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, + 0x33, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, + 0x4c, 0x69, 0x76, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, + 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, + 0x33, 0x0a, 0x16, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x13, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 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, 0x10, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x3b, + 0x0a, 0x1a, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x17, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x16, 0x6e, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0a, 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, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x1a, 0x54, 0x0a, 0x07, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, + 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, + 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, + 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, + 0x61, 0x67, 0x65, 0x1a, 0x62, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x74, 0x6f, + 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0a, 0x74, 0x6f, 0x67, + 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x8c, 0x02, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x42, 0x0a, + 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, + 0x6d, 0x22, 0x61, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 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, 0xf3, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x1a, 0x39, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x02, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xce, 0x01, 0x0a, 0x05, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x73, 0x68, 0x55, 0x72, 0x6c, 0x12, + 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x0f, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, + 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x62, + 0x0a, 0x0f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x73, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61, + 0x73, 0x68, 0x22, 0xa7, 0x04, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x6e, 0x75, + 0x6d, 0x73, 0x22, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, + 0x10, 0x02, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, + 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, + 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, + 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, + 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, + 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x55, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, + 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x05, 0x22, 0xff, 0x01, 0x0a, 0x13, 0x50, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x63, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x42, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, + 0x52, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x04, + 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x05, + 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x22, 0x5f, 0x0a, 0x0c, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x65, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xb0, 0x02, + 0x0a, 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 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, 0x32, 0x0a, + 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 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, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 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, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x22, 0xe8, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x19, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x22, 0x8a, 0x0c, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x39, 0x0a, 0x03, + 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 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, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x0a, 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, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x34, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x63, + 0x72, 0x63, 0x33, 0x32, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x34, 0x0a, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 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, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x1a, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x12, 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, 0x17, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, + 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 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, 0x17, 0x72, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x13, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 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, 0x0a, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x66, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, + 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, + 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, 0x02, + 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x42, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x22, 0x61, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, + 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x42, 0x70, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x1a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 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, 0x2f, 0x76, 0x31, 0x3b, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_storage_v1_storage_resources_proto_rawDescOnce sync.Once + file_mockgcp_storage_v1_storage_resources_proto_rawDescData = file_mockgcp_storage_v1_storage_resources_proto_rawDesc +) + +func file_mockgcp_storage_v1_storage_resources_proto_rawDescGZIP() []byte { + file_mockgcp_storage_v1_storage_resources_proto_rawDescOnce.Do(func() { + file_mockgcp_storage_v1_storage_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_storage_v1_storage_resources_proto_rawDescData) + }) + return file_mockgcp_storage_v1_storage_resources_proto_rawDescData +} + +var file_mockgcp_storage_v1_storage_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_mockgcp_storage_v1_storage_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 40) +var file_mockgcp_storage_v1_storage_resources_proto_goTypes = []interface{}{ + (Bucket_IamConfiguration_PublicAccessPrevention)(0), // 0: mockgcp.storage.v1.Bucket.IamConfiguration.PublicAccessPrevention + (CommonEnums_Projection)(0), // 1: mockgcp.storage.v1.CommonEnums.Projection + (CommonEnums_PredefinedBucketAcl)(0), // 2: mockgcp.storage.v1.CommonEnums.PredefinedBucketAcl + (CommonEnums_PredefinedObjectAcl)(0), // 3: mockgcp.storage.v1.CommonEnums.PredefinedObjectAcl + (*Bucket)(nil), // 4: mockgcp.storage.v1.Bucket + (*BucketAccessControl)(nil), // 5: mockgcp.storage.v1.BucketAccessControl + (*ListBucketAccessControlsResponse)(nil), // 6: mockgcp.storage.v1.ListBucketAccessControlsResponse + (*ListBucketsResponse)(nil), // 7: mockgcp.storage.v1.ListBucketsResponse + (*Channel)(nil), // 8: mockgcp.storage.v1.Channel + (*ListChannelsResponse)(nil), // 9: mockgcp.storage.v1.ListChannelsResponse + (*ChecksummedData)(nil), // 10: mockgcp.storage.v1.ChecksummedData + (*ObjectChecksums)(nil), // 11: mockgcp.storage.v1.ObjectChecksums + (*CommonEnums)(nil), // 12: mockgcp.storage.v1.CommonEnums + (*ContentRange)(nil), // 13: mockgcp.storage.v1.ContentRange + (*HmacKeyMetadata)(nil), // 14: mockgcp.storage.v1.HmacKeyMetadata + (*Notification)(nil), // 15: mockgcp.storage.v1.Notification + (*ListNotificationsResponse)(nil), // 16: mockgcp.storage.v1.ListNotificationsResponse + (*Object)(nil), // 17: mockgcp.storage.v1.Object + (*ObjectAccessControl)(nil), // 18: mockgcp.storage.v1.ObjectAccessControl + (*ListObjectAccessControlsResponse)(nil), // 19: mockgcp.storage.v1.ListObjectAccessControlsResponse + (*ListObjectsResponse)(nil), // 20: mockgcp.storage.v1.ListObjectsResponse + (*ProjectTeam)(nil), // 21: mockgcp.storage.v1.ProjectTeam + (*ServiceAccount)(nil), // 22: mockgcp.storage.v1.ServiceAccount + (*Owner)(nil), // 23: mockgcp.storage.v1.Owner + (*Bucket_Billing)(nil), // 24: mockgcp.storage.v1.Bucket.Billing + (*Bucket_Cors)(nil), // 25: mockgcp.storage.v1.Bucket.Cors + (*Bucket_Encryption)(nil), // 26: mockgcp.storage.v1.Bucket.Encryption + (*Bucket_IamConfiguration)(nil), // 27: mockgcp.storage.v1.Bucket.IamConfiguration + (*Bucket_Lifecycle)(nil), // 28: mockgcp.storage.v1.Bucket.Lifecycle + (*Bucket_Logging)(nil), // 29: mockgcp.storage.v1.Bucket.Logging + (*Bucket_RetentionPolicy)(nil), // 30: mockgcp.storage.v1.Bucket.RetentionPolicy + (*Bucket_Versioning)(nil), // 31: mockgcp.storage.v1.Bucket.Versioning + (*Bucket_Website)(nil), // 32: mockgcp.storage.v1.Bucket.Website + (*Bucket_Autoclass)(nil), // 33: mockgcp.storage.v1.Bucket.Autoclass + nil, // 34: mockgcp.storage.v1.Bucket.LabelsEntry + (*Bucket_IamConfiguration_UniformBucketLevelAccess)(nil), // 35: mockgcp.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess + (*Bucket_Lifecycle_Rule)(nil), // 36: mockgcp.storage.v1.Bucket.Lifecycle.Rule + (*Bucket_Lifecycle_Rule_Action)(nil), // 37: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Action + (*Bucket_Lifecycle_Rule_Condition)(nil), // 38: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition + nil, // 39: mockgcp.storage.v1.Channel.ParamsEntry + (*ListChannelsResponse_Items)(nil), // 40: mockgcp.storage.v1.ListChannelsResponse.Items + nil, // 41: mockgcp.storage.v1.Notification.CustomAttributesEntry + (*Object_CustomerEncryption)(nil), // 42: mockgcp.storage.v1.Object.CustomerEncryption + nil, // 43: mockgcp.storage.v1.Object.MetadataEntry + (*timestamp.Timestamp)(nil), // 44: google.protobuf.Timestamp + (*wrappers.UInt32Value)(nil), // 45: google.protobuf.UInt32Value + (*wrappers.BoolValue)(nil), // 46: google.protobuf.BoolValue +} +var file_mockgcp_storage_v1_storage_resources_proto_depIdxs = []int32{ + 5, // 0: mockgcp.storage.v1.Bucket.acl:type_name -> mockgcp.storage.v1.BucketAccessControl + 18, // 1: mockgcp.storage.v1.Bucket.default_object_acl:type_name -> mockgcp.storage.v1.ObjectAccessControl + 28, // 2: mockgcp.storage.v1.Bucket.lifecycle:type_name -> mockgcp.storage.v1.Bucket.Lifecycle + 44, // 3: mockgcp.storage.v1.Bucket.time_created:type_name -> google.protobuf.Timestamp + 25, // 4: mockgcp.storage.v1.Bucket.cors:type_name -> mockgcp.storage.v1.Bucket.Cors + 44, // 5: mockgcp.storage.v1.Bucket.updated:type_name -> google.protobuf.Timestamp + 34, // 6: mockgcp.storage.v1.Bucket.labels:type_name -> mockgcp.storage.v1.Bucket.LabelsEntry + 32, // 7: mockgcp.storage.v1.Bucket.website:type_name -> mockgcp.storage.v1.Bucket.Website + 31, // 8: mockgcp.storage.v1.Bucket.versioning:type_name -> mockgcp.storage.v1.Bucket.Versioning + 29, // 9: mockgcp.storage.v1.Bucket.logging:type_name -> mockgcp.storage.v1.Bucket.Logging + 23, // 10: mockgcp.storage.v1.Bucket.owner:type_name -> mockgcp.storage.v1.Owner + 26, // 11: mockgcp.storage.v1.Bucket.encryption:type_name -> mockgcp.storage.v1.Bucket.Encryption + 24, // 12: mockgcp.storage.v1.Bucket.billing:type_name -> mockgcp.storage.v1.Bucket.Billing + 30, // 13: mockgcp.storage.v1.Bucket.retention_policy:type_name -> mockgcp.storage.v1.Bucket.RetentionPolicy + 27, // 14: mockgcp.storage.v1.Bucket.iam_configuration:type_name -> mockgcp.storage.v1.Bucket.IamConfiguration + 33, // 15: mockgcp.storage.v1.Bucket.autoclass:type_name -> mockgcp.storage.v1.Bucket.Autoclass + 21, // 16: mockgcp.storage.v1.BucketAccessControl.project_team:type_name -> mockgcp.storage.v1.ProjectTeam + 5, // 17: mockgcp.storage.v1.ListBucketAccessControlsResponse.items:type_name -> mockgcp.storage.v1.BucketAccessControl + 4, // 18: mockgcp.storage.v1.ListBucketsResponse.items:type_name -> mockgcp.storage.v1.Bucket + 44, // 19: mockgcp.storage.v1.Channel.expiration:type_name -> google.protobuf.Timestamp + 39, // 20: mockgcp.storage.v1.Channel.params:type_name -> mockgcp.storage.v1.Channel.ParamsEntry + 40, // 21: mockgcp.storage.v1.ListChannelsResponse.items:type_name -> mockgcp.storage.v1.ListChannelsResponse.Items + 45, // 22: mockgcp.storage.v1.ChecksummedData.crc32c:type_name -> google.protobuf.UInt32Value + 45, // 23: mockgcp.storage.v1.ObjectChecksums.crc32c:type_name -> google.protobuf.UInt32Value + 44, // 24: mockgcp.storage.v1.HmacKeyMetadata.time_created:type_name -> google.protobuf.Timestamp + 44, // 25: mockgcp.storage.v1.HmacKeyMetadata.updated:type_name -> google.protobuf.Timestamp + 41, // 26: mockgcp.storage.v1.Notification.custom_attributes:type_name -> mockgcp.storage.v1.Notification.CustomAttributesEntry + 15, // 27: mockgcp.storage.v1.ListNotificationsResponse.items:type_name -> mockgcp.storage.v1.Notification + 18, // 28: mockgcp.storage.v1.Object.acl:type_name -> mockgcp.storage.v1.ObjectAccessControl + 44, // 29: mockgcp.storage.v1.Object.time_deleted:type_name -> google.protobuf.Timestamp + 44, // 30: mockgcp.storage.v1.Object.time_created:type_name -> google.protobuf.Timestamp + 45, // 31: mockgcp.storage.v1.Object.crc32c:type_name -> google.protobuf.UInt32Value + 44, // 32: mockgcp.storage.v1.Object.updated:type_name -> google.protobuf.Timestamp + 44, // 33: mockgcp.storage.v1.Object.time_storage_class_updated:type_name -> google.protobuf.Timestamp + 44, // 34: mockgcp.storage.v1.Object.retention_expiration_time:type_name -> google.protobuf.Timestamp + 43, // 35: mockgcp.storage.v1.Object.metadata:type_name -> mockgcp.storage.v1.Object.MetadataEntry + 46, // 36: mockgcp.storage.v1.Object.event_based_hold:type_name -> google.protobuf.BoolValue + 23, // 37: mockgcp.storage.v1.Object.owner:type_name -> mockgcp.storage.v1.Owner + 42, // 38: mockgcp.storage.v1.Object.customer_encryption:type_name -> mockgcp.storage.v1.Object.CustomerEncryption + 44, // 39: mockgcp.storage.v1.Object.custom_time:type_name -> google.protobuf.Timestamp + 21, // 40: mockgcp.storage.v1.ObjectAccessControl.project_team:type_name -> mockgcp.storage.v1.ProjectTeam + 18, // 41: mockgcp.storage.v1.ListObjectAccessControlsResponse.items:type_name -> mockgcp.storage.v1.ObjectAccessControl + 17, // 42: mockgcp.storage.v1.ListObjectsResponse.items:type_name -> mockgcp.storage.v1.Object + 35, // 43: mockgcp.storage.v1.Bucket.IamConfiguration.uniform_bucket_level_access:type_name -> mockgcp.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess + 0, // 44: mockgcp.storage.v1.Bucket.IamConfiguration.public_access_prevention:type_name -> mockgcp.storage.v1.Bucket.IamConfiguration.PublicAccessPrevention + 36, // 45: mockgcp.storage.v1.Bucket.Lifecycle.rule:type_name -> mockgcp.storage.v1.Bucket.Lifecycle.Rule + 44, // 46: mockgcp.storage.v1.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp + 44, // 47: mockgcp.storage.v1.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp + 44, // 48: mockgcp.storage.v1.Bucket.IamConfiguration.UniformBucketLevelAccess.locked_time:type_name -> google.protobuf.Timestamp + 37, // 49: mockgcp.storage.v1.Bucket.Lifecycle.Rule.action:type_name -> mockgcp.storage.v1.Bucket.Lifecycle.Rule.Action + 38, // 50: mockgcp.storage.v1.Bucket.Lifecycle.Rule.condition:type_name -> mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition + 44, // 51: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.protobuf.Timestamp + 46, // 52: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition.is_live:type_name -> google.protobuf.BoolValue + 44, // 53: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.protobuf.Timestamp + 44, // 54: mockgcp.storage.v1.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.protobuf.Timestamp + 44, // 55: mockgcp.storage.v1.ListChannelsResponse.Items.creation_time:type_name -> google.protobuf.Timestamp + 56, // [56:56] is the sub-list for method output_type + 56, // [56:56] is the sub-list for method input_type + 56, // [56:56] is the sub-list for extension type_name + 56, // [56:56] is the sub-list for extension extendee + 0, // [0:56] is the sub-list for field type_name +} + +func init() { file_mockgcp_storage_v1_storage_resources_proto_init() } +func file_mockgcp_storage_v1_storage_resources_proto_init() { + if File_mockgcp_storage_v1_storage_resources_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BucketAccessControl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBucketAccessControlsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBucketsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Channel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListChannelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChecksummedData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectChecksums); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonEnums); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContentRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HmacKeyMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotificationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Object); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectAccessControl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListObjectAccessControlsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListObjectsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectTeam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAccount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Owner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Billing); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Cors); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Encryption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_IamConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Lifecycle); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Logging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_RetentionPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Versioning); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Website); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Autoclass); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_IamConfiguration_UniformBucketLevelAccess); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Lifecycle_Rule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Lifecycle_Rule_Action); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Bucket_Lifecycle_Rule_Condition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListChannelsResponse_Items); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_storage_v1_storage_resources_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Object_CustomerEncryption); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_storage_v1_storage_resources_proto_rawDesc, + NumEnums: 4, + NumMessages: 40, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_storage_v1_storage_resources_proto_goTypes, + DependencyIndexes: file_mockgcp_storage_v1_storage_resources_proto_depIdxs, + EnumInfos: file_mockgcp_storage_v1_storage_resources_proto_enumTypes, + MessageInfos: file_mockgcp_storage_v1_storage_resources_proto_msgTypes, + }.Build() + File_mockgcp_storage_v1_storage_resources_proto = out.File + file_mockgcp_storage_v1_storage_resources_proto_rawDesc = nil + file_mockgcp_storage_v1_storage_resources_proto_goTypes = nil + file_mockgcp_storage_v1_storage_resources_proto_depIdxs = nil +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index 5505d6742b..f280a68c1e 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -46,6 +46,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockresourcemanager" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mocksecretmanager" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockserviceusage" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockstorage" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" ) @@ -97,6 +98,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, mockprivateca.New(env, storage)) services = append(services, mocknetworkservices.New(env, storage)) services = append(services, mockserviceusage.New(env, storage)) + services = append(services, mockstorage.New(env, storage)) services = append(services, mockcloudfunctions.New(env, storage)) services = append(services, mockedgenetwork.New(env, storage)) services = append(services, mockedgecontainer.New(env, storage)) diff --git a/mockgcp/mockstorage/service.go b/mockgcp/mockstorage/service.go new file mode 100644 index 0000000000..46de0b00bb --- /dev/null +++ b/mockgcp/mockstorage/service.go @@ -0,0 +1,71 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockstorage + +import ( + "context" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "google.golang.org/grpc" + "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/operations" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/storage/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +// MockService represents a mocked storage service. +type MockService struct { + kube client.Client + storage storage.Storage + + projects projects.ProjectStore + operations *operations.Operations + + v1 *StorageV1 +} + +// New creates a MockService. +func New(env *common.MockEnvironment, storage storage.Storage) *MockService { + s := &MockService{ + kube: env.GetKubeClient(), + storage: storage, + projects: env.GetProjects(), + operations: operations.NewOperationsService(storage), + } + s.v1 = &StorageV1{MockService: s} + return s +} + +func (s *MockService) ExpectedHost() string { + return "storage.googleapis.com" +} + +func (s *MockService) Register(grpcServer *grpc.Server) { + pb.RegisterStorageServer(grpcServer, s.v1) +} + +func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { + mux := runtime.NewServeMux() + + if err := pb.RegisterStorageHandler(ctx, mux, conn); err != nil { + return nil, err + } + + return mux, nil +} diff --git a/mockgcp/mockstorage/v1.go b/mockgcp/mockstorage/v1.go new file mode 100644 index 0000000000..0cc983c3b0 --- /dev/null +++ b/mockgcp/mockstorage/v1.go @@ -0,0 +1,91 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockstorage + +import ( + "context" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/storage/v1" + "github.com/golang/protobuf/ptypes/empty" +) + +type StorageV1 struct { + *MockService + pb.UnimplementedStorageServer +} + +func (s *StorageV1) GetBucket(ctx context.Context, req *pb.GetBucketRequest) (*pb.Bucket, error) { + fqn := req.GetBucket() + + now := timestamppb.Now() + + obj := &pb.Bucket{} + obj.Id = fqn + obj.Name = fqn + obj.ProjectNumber = 0 // todo + obj.Location = "US" + obj.Location = "multi-region" + obj.StorageClass = "STANDARD" + obj.TimeCreated = now + obj.Updated = now + + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *StorageV1) InsertBucket(ctx context.Context, req *pb.InsertBucketRequest) (*pb.Bucket, error) { + fqn := req.GetBucket().GetName() + + obj := proto.Clone(req.GetBucket()).(*pb.Bucket) + obj.Name = fqn + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *StorageV1) PatchBucket(ctx context.Context, req *pb.PatchBucketRequest) (*pb.Bucket, error) { + fqn := req.GetBucket() + + obj := &pb.Bucket{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *StorageV1) DeleteBucket(ctx context.Context, req *pb.DeleteBucketRequest) (*empty.Empty, error) { + fqn := req.GetBucket() + + deletedObj := &pb.Bucket{} + if err := s.storage.Delete(ctx, fqn, deletedObj); err != nil { + return nil, err + } + + return &empty.Empty{}, nil +} diff --git a/mockgcp/pkg/storage/memory.go b/mockgcp/pkg/storage/memory.go index 45f8c80d8a..2d909837a4 100644 --- a/mockgcp/pkg/storage/memory.go +++ b/mockgcp/pkg/storage/memory.go @@ -23,8 +23,6 @@ import ( "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/reflect/protoreflect" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/runtime/schema" ) // InMemoryStorage is a memory-backed (non-persistent) implementation of Storage, useful for tests. @@ -77,7 +75,7 @@ func (s *typeStorage) Create(ctx context.Context, fqn string, create proto.Messa _, found := s.byKey[fqn] if found { - return apierrors.NewAlreadyExists(schema.GroupResource{}, fqn) + return status.Errorf(codes.AlreadyExists, "%v %q already exists", s.objectTypeName, fqn) } s.byKey[fqn] = proto.Clone(create) return nil From cbb7021c76c327b95b0ff2c0e3399aeb0c66be4d Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Thu, 25 Jan 2024 23:57:20 +0000 Subject: [PATCH 12/52] Enable the configuration of state-into-spec default value in kccmanager --- cmd/deletiondefender/main.go | 2 +- cmd/manager/main.go | 3 ++ cmd/unmanageddetector/main.go | 2 +- config/tests/samples/create/harness.go | 4 +- config/tests/samples/create/samples_test.go | 5 ++- .../service_account_key_integration_test.go | 2 +- pkg/controller/kccmanager/kccmanager.go | 15 +++++++- pkg/controller/kccmanager/kccmanager_test.go | 3 +- .../registration/registration_controller.go | 38 ++++++++++--------- pkg/controller/tf/controller.go | 28 +++++++------- pkg/k8s/constants.go | 5 ++- pkg/k8s/state_into_spec_annotation.go | 28 +++++++++++++- .../controller/reconciler/testreconciler.go | 6 ++- 13 files changed, 98 insertions(+), 43 deletions(-) diff --git a/cmd/deletiondefender/main.go b/cmd/deletiondefender/main.go index d966a2aa7b..5ddc5542b4 100644 --- a/cmd/deletiondefender/main.go +++ b/cmd/deletiondefender/main.go @@ -95,7 +95,7 @@ func main() { // Register the registration controller, which will dynamically create controllers for // all our resources. - if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController); err != nil { + if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController, nil); err != nil { log.Fatal(err, "error adding registration controller") } diff --git a/cmd/manager/main.go b/cmd/manager/main.go index 46f88fa8c2..38b14645dc 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -26,6 +26,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/kccmanager" controllermetrics "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/metrics" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/gcp/profiler" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/krmtotf" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/logging" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/metrics" @@ -143,6 +144,8 @@ func newManager(ctx context.Context, restCfg *rest.Config, scopedNamespace strin controllersCfg.UserProjectOverride = userProjectOverride controllersCfg.BillingProject = billingProject + // TODO(b/320784855): StateIntoSpecDefaultValue and StateIntoSpecUserOverride values should come from the flags. + controllersCfg.StateIntoSpecDefaultValue = k8s.StateIntoSpecDefaultValueV1Beta1 mgr, err := kccmanager.New(ctx, restCfg, controllersCfg) if err != nil { return nil, fmt.Errorf("error creating manager: %w", err) diff --git a/cmd/unmanageddetector/main.go b/cmd/unmanageddetector/main.go index 98bb440160..2c40006cf2 100644 --- a/cmd/unmanageddetector/main.go +++ b/cmd/unmanageddetector/main.go @@ -96,7 +96,7 @@ func main() { // Register the registration controller, which will dynamically create // controllers for all our resources. - if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterUnmanagedDetectorController); err != nil { + if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterUnmanagedDetectorController, nil); err != nil { logging.Fatal(err, "error adding registration controller") } diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index d7ba0a53ce..4d649f47f3 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -51,6 +51,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/registration" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/crd/crdloader" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/gcp" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/logging" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test" testenvironment "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test/environment" @@ -114,6 +115,7 @@ func NewHarness(t *testing.T, ctx context.Context) *Harness { kccConfig.ManagerOptions.HealthProbeBindAddress = "0" // supply a concrete client to disable the default behavior of caching kccConfig.ManagerOptions.NewClient = nocache.NoCacheClientFunc + kccConfig.StateIntoSpecDefaultValue = k8s.StateIntoSpecDefaultValueV1Beta1 var webhooks []cnrmwebhook.WebhookConfig @@ -357,7 +359,7 @@ func NewHarness(t *testing.T, ctx context.Context) *Harness { } // Register the deletion defender controller. - if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController); err != nil { + if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController, nil); err != nil { t.Fatalf("error adding registration controller for deletion defender controllers: %v", err) } // Start the manager, Start(...) is a blocking operation so it needs to be done asynchronously. diff --git a/config/tests/samples/create/samples_test.go b/config/tests/samples/create/samples_test.go index bb96b2273c..9705e04aef 100644 --- a/config/tests/samples/create/samples_test.go +++ b/config/tests/samples/create/samples_test.go @@ -25,6 +25,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/kccmanager" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/registration" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/logging" testgcp "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test/gcp" testmain "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test/main" @@ -277,12 +278,12 @@ func setup() { ctx := context.TODO() flag.Parse() var err error - mgr, err = kccmanager.New(ctx, unusedManager.GetConfig(), kccmanager.Config{}) + mgr, err = kccmanager.New(ctx, unusedManager.GetConfig(), kccmanager.Config{StateIntoSpecDefaultValue: k8s.StateIntoSpecDefaultValueV1Beta1}) if err != nil { logging.Fatal(err, "error creating new manager") } // Register the deletion defender controller - if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController); err != nil { + if err := registration.Add(mgr, nil, nil, nil, nil, registration.RegisterDeletionDefenderController, nil); err != nil { logging.Fatal(err, "error adding registration controller for deletion defender controllers") } // start the manager, Start(...) is a blocking operation so it needs to be done asynchronously diff --git a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go index 49267f27e1..46d9d6c8ea 100644 --- a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go +++ b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go @@ -187,7 +187,7 @@ func newTestReconciler(t *testing.T, mgr manager.Manager, crdPath string, provid var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil - reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, nil) if err != nil { t.Fatalf("error creating reconciler: %v", err) } diff --git a/pkg/controller/kccmanager/kccmanager.go b/pkg/controller/kccmanager/kccmanager.go index c9fa3fc659..84ac22a4e6 100644 --- a/pkg/controller/kccmanager/kccmanager.go +++ b/pkg/controller/kccmanager/kccmanager.go @@ -27,6 +27,7 @@ import ( dclmetadata "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/dcl/metadata" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/dcl/schema/dclschemaloader" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/gcp" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/servicemapping/servicemappingloader" tfprovider "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/tf/provider" @@ -58,6 +59,14 @@ type Config struct { // GCPAccessToken allows configuration of a static access token for accessing GCP. // Currently only used in tests. GCPAccessToken string + + // StateIntoSpecDefaultValue is a required field used as the default value + // for 'state-into-spec' annotation if unset. + StateIntoSpecDefaultValue string + + // StateIntoSpecUserOverride is an optional field. If specified, it is used + // as the default value for 'state-into-spec' annotation if unset. + StateIntoSpecUserOverride *string } // Creates a new controller-runtime manager.Manager and starts all of the KCC controllers pointed at the @@ -117,9 +126,13 @@ func New(ctx context.Context, restConfig *rest.Config, config Config) (manager.M return nil, fmt.Errorf("error creating a DCL client config: %w", err) } + stateIntoSpecValue, err := k8s.NewStateIntoSpecValue(config.StateIntoSpecDefaultValue, config.StateIntoSpecUserOverride) + if err != nil { + return nil, fmt.Errorf("error constructing new state into spec value: %v", err) + } // Register the registration controller, which will dynamically create controllers for // all our resources. - if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController); err != nil { + if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController, stateIntoSpecValue); err != nil { return nil, fmt.Errorf("error adding registration controller: %w", err) } return mgr, nil diff --git a/pkg/controller/kccmanager/kccmanager_test.go b/pkg/controller/kccmanager/kccmanager_test.go index ffbf6d7374..a9003e0686 100644 --- a/pkg/controller/kccmanager/kccmanager_test.go +++ b/pkg/controller/kccmanager/kccmanager_test.go @@ -25,6 +25,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/dynamic" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/controller/kccmanager" + "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test" testcontroller "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test/controller" testgcp "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test/gcp" @@ -76,7 +77,7 @@ func TestSchemeIsUniqueAcrossManagers(t *testing.T) { func TestClusterModeManager(t *testing.T) { ctx := context.TODO() - mgr, err := kccmanager.New(ctx, clusterModeManager.GetConfig(), kccmanager.Config{}) + mgr, err := kccmanager.New(ctx, clusterModeManager.GetConfig(), kccmanager.Config{StateIntoSpecDefaultValue: k8s.StateIntoSpecDefaultValueV1Beta1}) if err != nil { t.Fatalf("error creating manager: %v", err) } diff --git a/pkg/controller/registration/registration_controller.go b/pkg/controller/registration/registration_controller.go index 2c3556e05a..7932106f78 100644 --- a/pkg/controller/registration/registration_controller.go +++ b/pkg/controller/registration/registration_controller.go @@ -56,16 +56,17 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new registration Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and Start it when the Manager is Started. -func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc) error { +func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc, stateIntoSpecValue *k8s.StateIntoSpecValue) error { r := &ReconcileRegistration{ - Client: mgr.GetClient(), - provider: p, - smLoader: smLoader, - dclConfig: dclConfig, - dclConverter: dclConverter, - mgr: mgr, - controllers: make(map[string]map[string]controllerContext), - registrationFunc: regFunc, + Client: mgr.GetClient(), + provider: p, + smLoader: smLoader, + dclConfig: dclConfig, + dclConverter: dclConverter, + mgr: mgr, + controllers: make(map[string]map[string]controllerContext), + registrationFunc: regFunc, + stateIntoSpecValue: stateIntoSpecValue, } c, err := controller.New(controllerName, mgr, controller.Options{ @@ -83,14 +84,15 @@ var _ reconcile.Reconciler = &ReconcileRegistration{} // ReconcileRegistration reconciles a CRD owned by KCC type ReconcileRegistration struct { client.Client - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - dclConfig *dcl.Config - dclConverter *conversion.Converter - mgr manager.Manager - controllers map[string]map[string]controllerContext - registrationFunc registrationFunc - mu sync.Mutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + dclConfig *dcl.Config + dclConverter *conversion.Converter + mgr manager.Manager + controllers map[string]map[string]controllerContext + registrationFunc registrationFunc + stateIntoSpecValue *k8s.StateIntoSpecValue + mu sync.Mutex } type controllerContext struct { @@ -193,7 +195,7 @@ func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.Cust logger.Info("unrecognized CRD; skipping controller registration", "group", gvk.Group, "version", gvk.Version, "kind", gvk.Kind) return nil, nil } - su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader) + su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader, r.stateIntoSpecValue) if err != nil { return nil, fmt.Errorf("error adding terraform controller for %v to a manager: %v", crd.Spec.Names.Kind, err) } diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index f219a0e4a3..2c7acdaaa9 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -64,25 +64,26 @@ var logger = klog.Log type Reconciler struct { lifecyclehandler.LifecycleHandler metrics.ReconcilerMetrics - resourceLeaser *leaser.ResourceLeaser - mgr manager.Manager - schemaRef *k8s.SchemaReference - schemaRefMu sync.RWMutex - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - logger logr.Logger + resourceLeaser *leaser.ResourceLeaser + stateIntoSpecValue *k8s.StateIntoSpecValue + mgr manager.Manager + schemaRef *k8s.SchemaReference + schemaRefMu sync.RWMutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + logger logr.Logger // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies } -func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader) (k8s.SchemaReferenceUpdater, error) { +func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, stateIntoSpecValue *k8s.StateIntoSpecValue) (k8s.SchemaReferenceUpdater, error) { kind := crd.Spec.Names.Kind apiVersion := k8s.GetAPIVersionFromCRD(crd) controllerName := fmt.Sprintf("%v-controller", strings.ToLower(kind)) immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines) + r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecValue) if err != nil { return nil, err } @@ -106,15 +107,16 @@ func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provi return r, nil } -func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, stateIntoSpecValue *k8s.StateIntoSpecValue) (*Reconciler, error) { controllerName := fmt.Sprintf("%v-controller", strings.ToLower(crd.Spec.Names.Kind)) return &Reconciler{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), mgr.GetEventRecorderFor(controllerName), ), - resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), - mgr: mgr, + resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), + stateIntoSpecValue: stateIntoSpecValue, + mgr: mgr, schemaRef: &k8s.SchemaReference{ CRD: crd, JsonSchema: k8s.GetOpenAPIV3SchemaFromCRD(crd), @@ -404,7 +406,7 @@ func (r *Reconciler) enqueueForImmediateReconciliation(resourceNN types.Namespac func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *krmtotf.Resource) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, r.stateIntoSpecValue.GetValue()); err != nil { return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) } return nil diff --git a/pkg/k8s/constants.go b/pkg/k8s/constants.go index 72aa8c5181..5e45610b3a 100644 --- a/pkg/k8s/constants.go +++ b/pkg/k8s/constants.go @@ -77,8 +77,9 @@ const ( ManagementConflictPreventionPolicyResource = "resource" // State into spec annotation values - StateMergeIntoSpec = "merge" - StateAbsentInSpec = "absent" + StateMergeIntoSpec = "merge" + StateAbsentInSpec = "absent" + StateIntoSpecDefaultValueV1Beta1 = StateMergeIntoSpec // Core kubernetes constants LastAppliedConfigurationAnnotation = "kubectl.kubernetes.io/last-applied-configuration" diff --git a/pkg/k8s/state_into_spec_annotation.go b/pkg/k8s/state_into_spec_annotation.go index 7127dfb2d5..0da06a438e 100644 --- a/pkg/k8s/state_into_spec_annotation.go +++ b/pkg/k8s/state_into_spec_annotation.go @@ -21,13 +21,39 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) +// StateIntoSpecValue contains the required 'defaultValue' field and the +// optional 'userOverride' field. +type StateIntoSpecValue struct { + defaultValue string + userOverride *string +} + +func NewStateIntoSpecValue(defaultValue string, userOverride *string) (*StateIntoSpecValue, error) { + if !isAcceptedValue(defaultValue, StateIntoSpecAnnotationValues) { + return nil, fmt.Errorf("invalid default value '%v' for '%v' annotation, need to be one of {%v}", defaultValue, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) + } + if userOverride != nil && !isAcceptedValue(*userOverride, StateIntoSpecAnnotationValues) { + return nil, fmt.Errorf("invalid user override value '%v' for '%v' annotation, need to be one of {%v}", userOverride, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) + } + return &StateIntoSpecValue{ + defaultValue: defaultValue, + userOverride: userOverride, + }, nil +} + +func (v *StateIntoSpecValue) GetValue() string { + if v.userOverride == nil { + return v.defaultValue + } + return *v.userOverride +} + // ValidateOrDefaultStateIntoSpecAnnotation validates the value of the // 'state-into-spec' annotation if it is set and defaults the annotation to the // passed in defaultValue if it is unset. func ValidateOrDefaultStateIntoSpecAnnotation(obj metav1.Object, defaultValue string) error { _, found := GetAnnotation(StateIntoSpecAnnotation, obj) if !found { - // TODO(b/322836859): Ensure ComputeAddress doesn't need special handling. SetAnnotation(StateIntoSpecAnnotation, defaultValue, obj) } return validateStateIntoSpecAnnotation(obj) diff --git a/pkg/test/controller/reconciler/testreconciler.go b/pkg/test/controller/reconciler/testreconciler.go index e901e846f7..d2a086de38 100644 --- a/pkg/test/controller/reconciler/testreconciler.go +++ b/pkg/test/controller/reconciler/testreconciler.go @@ -215,9 +215,13 @@ func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDe // nature. var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil + stateIntoSpecValue, err := k8s.NewStateIntoSpecValue(k8s.StateIntoSpecDefaultValueV1Beta1, nil) + if err != nil { + return nil, fmt.Errorf("error constructing new state into spec value: %v", err) + } if crd.GetLabels()[crdgeneration.TF2CRDLabel] == "true" { - return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines) + return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecValue) } if crd.GetLabels()[k8s.DCL2CRDLabel] == "true" { return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines) From 375d2b497c698dc177b68d4ee26bf6963850173b Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Tue, 30 Jan 2024 00:22:58 +0000 Subject: [PATCH 13/52] Fix merge conflict From 59701624e80a071a4f59abbcb04110c089314072 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Tue, 30 Jan 2024 01:23:37 +0000 Subject: [PATCH 14/52] Turn 'StateIntoSpecValue' into 'StateIntoSpecDefaulter' --- .../service_account_key_integration_test.go | 6 ++- pkg/controller/kccmanager/kccmanager.go | 4 +- .../registration/registration_controller.go | 40 +++++++++---------- pkg/controller/tf/controller.go | 30 +++++++------- pkg/k8s/defaulter.go | 33 +++++++++++++++ pkg/k8s/state_into_spec_annotation.go | 18 +-------- .../controller/reconciler/testreconciler.go | 4 +- 7 files changed, 79 insertions(+), 56 deletions(-) create mode 100644 pkg/k8s/defaulter.go diff --git a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go index 46d9d6c8ea..386ad7faf2 100644 --- a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go +++ b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go @@ -187,7 +187,11 @@ func newTestReconciler(t *testing.T, mgr manager.Manager, crdPath string, provid var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil - reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, nil) + stateIntoSpecDefaulter, err := k8s.NewStateIntoSpecDefaulter(k8s.StateIntoSpecDefaultValueV1Beta1, nil) + if err != nil { + t.Fatalf("error constructing new state into spec value: %v", err) + } + reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) if err != nil { t.Fatalf("error creating reconciler: %v", err) } diff --git a/pkg/controller/kccmanager/kccmanager.go b/pkg/controller/kccmanager/kccmanager.go index 84ac22a4e6..88aecaaff8 100644 --- a/pkg/controller/kccmanager/kccmanager.go +++ b/pkg/controller/kccmanager/kccmanager.go @@ -126,13 +126,13 @@ func New(ctx context.Context, restConfig *rest.Config, config Config) (manager.M return nil, fmt.Errorf("error creating a DCL client config: %w", err) } - stateIntoSpecValue, err := k8s.NewStateIntoSpecValue(config.StateIntoSpecDefaultValue, config.StateIntoSpecUserOverride) + stateIntoSpecDefaulter, err := k8s.NewStateIntoSpecDefaulter(config.StateIntoSpecDefaultValue, config.StateIntoSpecUserOverride) if err != nil { return nil, fmt.Errorf("error constructing new state into spec value: %v", err) } // Register the registration controller, which will dynamically create controllers for // all our resources. - if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController, stateIntoSpecValue); err != nil { + if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController, stateIntoSpecDefaulter); err != nil { return nil, fmt.Errorf("error adding registration controller: %w", err) } return mgr, nil diff --git a/pkg/controller/registration/registration_controller.go b/pkg/controller/registration/registration_controller.go index 7932106f78..e55bd3c361 100644 --- a/pkg/controller/registration/registration_controller.go +++ b/pkg/controller/registration/registration_controller.go @@ -56,17 +56,17 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new registration Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and Start it when the Manager is Started. -func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc, stateIntoSpecValue *k8s.StateIntoSpecValue) error { +func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc, stateIntoSpecDefaulter k8s.Defaulter) error { r := &ReconcileRegistration{ - Client: mgr.GetClient(), - provider: p, - smLoader: smLoader, - dclConfig: dclConfig, - dclConverter: dclConverter, - mgr: mgr, - controllers: make(map[string]map[string]controllerContext), - registrationFunc: regFunc, - stateIntoSpecValue: stateIntoSpecValue, + Client: mgr.GetClient(), + provider: p, + smLoader: smLoader, + dclConfig: dclConfig, + dclConverter: dclConverter, + mgr: mgr, + controllers: make(map[string]map[string]controllerContext), + registrationFunc: regFunc, + stateIntoSpecDefaulter: stateIntoSpecDefaulter, } c, err := controller.New(controllerName, mgr, controller.Options{ @@ -84,15 +84,15 @@ var _ reconcile.Reconciler = &ReconcileRegistration{} // ReconcileRegistration reconciles a CRD owned by KCC type ReconcileRegistration struct { client.Client - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - dclConfig *dcl.Config - dclConverter *conversion.Converter - mgr manager.Manager - controllers map[string]map[string]controllerContext - registrationFunc registrationFunc - stateIntoSpecValue *k8s.StateIntoSpecValue - mu sync.Mutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + dclConfig *dcl.Config + dclConverter *conversion.Converter + mgr manager.Manager + controllers map[string]map[string]controllerContext + registrationFunc registrationFunc + stateIntoSpecDefaulter k8s.Defaulter + mu sync.Mutex } type controllerContext struct { @@ -195,7 +195,7 @@ func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.Cust logger.Info("unrecognized CRD; skipping controller registration", "group", gvk.Group, "version", gvk.Version, "kind", gvk.Kind) return nil, nil } - su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader, r.stateIntoSpecValue) + su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader, r.stateIntoSpecDefaulter) if err != nil { return nil, fmt.Errorf("error adding terraform controller for %v to a manager: %v", crd.Spec.Names.Kind, err) } diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index 2c7acdaaa9..dc378395ed 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -64,26 +64,26 @@ var logger = klog.Log type Reconciler struct { lifecyclehandler.LifecycleHandler metrics.ReconcilerMetrics - resourceLeaser *leaser.ResourceLeaser - stateIntoSpecValue *k8s.StateIntoSpecValue - mgr manager.Manager - schemaRef *k8s.SchemaReference - schemaRefMu sync.RWMutex - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - logger logr.Logger + resourceLeaser *leaser.ResourceLeaser + stateIntoSpecDefaulter k8s.Defaulter + mgr manager.Manager + schemaRef *k8s.SchemaReference + schemaRefMu sync.RWMutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + logger logr.Logger // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies } -func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, stateIntoSpecValue *k8s.StateIntoSpecValue) (k8s.SchemaReferenceUpdater, error) { +func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, stateIntoSpecDefaulter k8s.Defaulter) (k8s.SchemaReferenceUpdater, error) { kind := crd.Spec.Names.Kind apiVersion := k8s.GetAPIVersionFromCRD(crd) controllerName := fmt.Sprintf("%v-controller", strings.ToLower(kind)) immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecValue) + r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) if err != nil { return nil, err } @@ -107,16 +107,16 @@ func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provi return r, nil } -func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, stateIntoSpecValue *k8s.StateIntoSpecValue) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, stateIntoSpecDefaulter k8s.Defaulter) (*Reconciler, error) { controllerName := fmt.Sprintf("%v-controller", strings.ToLower(crd.Spec.Names.Kind)) return &Reconciler{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), mgr.GetEventRecorderFor(controllerName), ), - resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), - stateIntoSpecValue: stateIntoSpecValue, - mgr: mgr, + resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), + stateIntoSpecDefaulter: stateIntoSpecDefaulter, + mgr: mgr, schemaRef: &k8s.SchemaReference{ CRD: crd, JsonSchema: k8s.GetOpenAPIV3SchemaFromCRD(crd), @@ -406,7 +406,7 @@ func (r *Reconciler) enqueueForImmediateReconciliation(resourceNN types.Namespac func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *krmtotf.Resource) error { // Validate or set the default value (cluster-level or namespace-level) for // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, r.stateIntoSpecValue.GetValue()); err != nil { + if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, r.stateIntoSpecDefaulter.GetValue()); err != nil { return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) } return nil diff --git a/pkg/k8s/defaulter.go b/pkg/k8s/defaulter.go new file mode 100644 index 0000000000..876f7f6681 --- /dev/null +++ b/pkg/k8s/defaulter.go @@ -0,0 +1,33 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package k8s + +type Defaulter interface { + GetValue() string +} + +// StateIntoSpecDefaulter contains the required 'defaultValue' field and the +// optional 'userOverride' field. +type StateIntoSpecDefaulter struct { + defaultValue string + userOverride *string +} + +func (v *StateIntoSpecDefaulter) GetValue() string { + if v.userOverride == nil { + return v.defaultValue + } + return *v.userOverride +} diff --git a/pkg/k8s/state_into_spec_annotation.go b/pkg/k8s/state_into_spec_annotation.go index 0da06a438e..213ed3eb1c 100644 --- a/pkg/k8s/state_into_spec_annotation.go +++ b/pkg/k8s/state_into_spec_annotation.go @@ -21,33 +21,19 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -// StateIntoSpecValue contains the required 'defaultValue' field and the -// optional 'userOverride' field. -type StateIntoSpecValue struct { - defaultValue string - userOverride *string -} - -func NewStateIntoSpecValue(defaultValue string, userOverride *string) (*StateIntoSpecValue, error) { +func NewStateIntoSpecDefaulter(defaultValue string, userOverride *string) (Defaulter, error) { if !isAcceptedValue(defaultValue, StateIntoSpecAnnotationValues) { return nil, fmt.Errorf("invalid default value '%v' for '%v' annotation, need to be one of {%v}", defaultValue, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) } if userOverride != nil && !isAcceptedValue(*userOverride, StateIntoSpecAnnotationValues) { return nil, fmt.Errorf("invalid user override value '%v' for '%v' annotation, need to be one of {%v}", userOverride, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) } - return &StateIntoSpecValue{ + return &StateIntoSpecDefaulter{ defaultValue: defaultValue, userOverride: userOverride, }, nil } -func (v *StateIntoSpecValue) GetValue() string { - if v.userOverride == nil { - return v.defaultValue - } - return *v.userOverride -} - // ValidateOrDefaultStateIntoSpecAnnotation validates the value of the // 'state-into-spec' annotation if it is set and defaults the annotation to the // passed in defaultValue if it is unset. diff --git a/pkg/test/controller/reconciler/testreconciler.go b/pkg/test/controller/reconciler/testreconciler.go index d2a086de38..c638fd3794 100644 --- a/pkg/test/controller/reconciler/testreconciler.go +++ b/pkg/test/controller/reconciler/testreconciler.go @@ -215,13 +215,13 @@ func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDe // nature. var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil - stateIntoSpecValue, err := k8s.NewStateIntoSpecValue(k8s.StateIntoSpecDefaultValueV1Beta1, nil) + stateIntoSpecDefaulter, err := k8s.NewStateIntoSpecDefaulter(k8s.StateIntoSpecDefaultValueV1Beta1, nil) if err != nil { return nil, fmt.Errorf("error constructing new state into spec value: %v", err) } if crd.GetLabels()[crdgeneration.TF2CRDLabel] == "true" { - return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecValue) + return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) } if crd.GetLabels()[k8s.DCL2CRDLabel] == "true" { return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines) From 3b6cee93eacca9ac93f06fbf66023b36443885c7 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Tue, 13 Feb 2024 02:17:48 +0000 Subject: [PATCH 15/52] Support the generic defaulter --- .../service_account_key_integration_test.go | 2 +- pkg/controller/kccmanager/kccmanager.go | 2 +- .../registration/registration_controller.go | 40 +++++++++---------- pkg/controller/tf/controller.go | 40 +++++++++---------- pkg/k8s/defaulter.go | 34 +++++++++++++++- pkg/k8s/state_into_spec_annotation.go | 13 ------ pkg/krmtotf/resource.go | 5 +++ .../controller/reconciler/testreconciler.go | 2 +- 8 files changed, 80 insertions(+), 58 deletions(-) diff --git a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go index 386ad7faf2..a450155aec 100644 --- a/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go +++ b/pkg/controller/gsakeysecretgenerator/service_account_key_integration_test.go @@ -191,7 +191,7 @@ func newTestReconciler(t *testing.T, mgr manager.Manager, crdPath string, provid if err != nil { t.Fatalf("error constructing new state into spec value: %v", err) } - reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) + reconciler, err := tf.NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) if err != nil { t.Fatalf("error creating reconciler: %v", err) } diff --git a/pkg/controller/kccmanager/kccmanager.go b/pkg/controller/kccmanager/kccmanager.go index 88aecaaff8..8b588476bb 100644 --- a/pkg/controller/kccmanager/kccmanager.go +++ b/pkg/controller/kccmanager/kccmanager.go @@ -132,7 +132,7 @@ func New(ctx context.Context, restConfig *rest.Config, config Config) (manager.M } // Register the registration controller, which will dynamically create controllers for // all our resources. - if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController, stateIntoSpecDefaulter); err != nil { + if err := registration.Add(mgr, provider, smLoader, dclConfig, dclConverter, registration.RegisterDefaultController, []k8s.Defaulter{stateIntoSpecDefaulter}); err != nil { return nil, fmt.Errorf("error adding registration controller: %w", err) } return mgr, nil diff --git a/pkg/controller/registration/registration_controller.go b/pkg/controller/registration/registration_controller.go index e55bd3c361..8c309008b5 100644 --- a/pkg/controller/registration/registration_controller.go +++ b/pkg/controller/registration/registration_controller.go @@ -56,17 +56,17 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new registration Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and Start it when the Manager is Started. -func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc, stateIntoSpecDefaulter k8s.Defaulter) error { +func Add(mgr manager.Manager, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, dclConfig *dcl.Config, dclConverter *conversion.Converter, regFunc registrationFunc, defaulters []k8s.Defaulter) error { r := &ReconcileRegistration{ - Client: mgr.GetClient(), - provider: p, - smLoader: smLoader, - dclConfig: dclConfig, - dclConverter: dclConverter, - mgr: mgr, - controllers: make(map[string]map[string]controllerContext), - registrationFunc: regFunc, - stateIntoSpecDefaulter: stateIntoSpecDefaulter, + Client: mgr.GetClient(), + provider: p, + smLoader: smLoader, + dclConfig: dclConfig, + dclConverter: dclConverter, + mgr: mgr, + controllers: make(map[string]map[string]controllerContext), + registrationFunc: regFunc, + defaulters: defaulters, } c, err := controller.New(controllerName, mgr, controller.Options{ @@ -84,15 +84,15 @@ var _ reconcile.Reconciler = &ReconcileRegistration{} // ReconcileRegistration reconciles a CRD owned by KCC type ReconcileRegistration struct { client.Client - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - dclConfig *dcl.Config - dclConverter *conversion.Converter - mgr manager.Manager - controllers map[string]map[string]controllerContext - registrationFunc registrationFunc - stateIntoSpecDefaulter k8s.Defaulter - mu sync.Mutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + dclConfig *dcl.Config + dclConverter *conversion.Converter + mgr manager.Manager + controllers map[string]map[string]controllerContext + registrationFunc registrationFunc + defaulters []k8s.Defaulter + mu sync.Mutex } type controllerContext struct { @@ -195,7 +195,7 @@ func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.Cust logger.Info("unrecognized CRD; skipping controller registration", "group", gvk.Group, "version", gvk.Version, "kind", gvk.Kind) return nil, nil } - su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader, r.stateIntoSpecDefaulter) + su, err := tf.Add(r.mgr, crd, r.provider, r.smLoader, r.defaulters) if err != nil { return nil, fmt.Errorf("error adding terraform controller for %v to a manager: %v", crd.Spec.Names.Kind, err) } diff --git a/pkg/controller/tf/controller.go b/pkg/controller/tf/controller.go index dc378395ed..73be9059fe 100644 --- a/pkg/controller/tf/controller.go +++ b/pkg/controller/tf/controller.go @@ -64,26 +64,26 @@ var logger = klog.Log type Reconciler struct { lifecyclehandler.LifecycleHandler metrics.ReconcilerMetrics - resourceLeaser *leaser.ResourceLeaser - stateIntoSpecDefaulter k8s.Defaulter - mgr manager.Manager - schemaRef *k8s.SchemaReference - schemaRefMu sync.RWMutex - provider *tfschema.Provider - smLoader *servicemappingloader.ServiceMappingLoader - logger logr.Logger + resourceLeaser *leaser.ResourceLeaser + defaulters []k8s.Defaulter + mgr manager.Manager + schemaRef *k8s.SchemaReference + schemaRefMu sync.RWMutex + provider *tfschema.Provider + smLoader *servicemappingloader.ServiceMappingLoader + logger logr.Logger // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies } -func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, stateIntoSpecDefaulter k8s.Defaulter) (k8s.SchemaReferenceUpdater, error) { +func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, defaulters []k8s.Defaulter) (k8s.SchemaReferenceUpdater, error) { kind := crd.Spec.Names.Kind apiVersion := k8s.GetAPIVersionFromCRD(crd) controllerName := fmt.Sprintf("%v-controller", strings.ToLower(kind)) immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) + r, err := NewReconciler(mgr, crd, provider, smLoader, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return nil, err } @@ -107,16 +107,16 @@ func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, provi return r, nil } -func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, stateIntoSpecDefaulter k8s.Defaulter) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, p *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*Reconciler, error) { controllerName := fmt.Sprintf("%v-controller", strings.ToLower(crd.Spec.Names.Kind)) return &Reconciler{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), mgr.GetEventRecorderFor(controllerName), ), - resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), - stateIntoSpecDefaulter: stateIntoSpecDefaulter, - mgr: mgr, + resourceLeaser: leaser.NewResourceLeaser(p, smLoader, mgr.GetClient()), + defaulters: defaulters, + mgr: mgr, schemaRef: &k8s.SchemaReference{ CRD: crd, JsonSchema: k8s.GetOpenAPIV3SchemaFromCRD(crd), @@ -176,7 +176,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %v", req.NamespacedName.String(), err) } - if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { + if err := r.handleDefaults(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %w", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { @@ -403,11 +403,11 @@ func (r *Reconciler) enqueueForImmediateReconciliation(resourceNN types.Namespac r.immediateReconcileRequests <- genEvent } -func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *krmtotf.Resource) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, r.stateIntoSpecDefaulter.GetValue()); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) +func (r *Reconciler) handleDefaults(ctx context.Context, resource *krmtotf.Resource) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, resource); err != nil { + return err + } } return nil } diff --git a/pkg/k8s/defaulter.go b/pkg/k8s/defaulter.go index 876f7f6681..1c5b8a847d 100644 --- a/pkg/k8s/defaulter.go +++ b/pkg/k8s/defaulter.go @@ -14,8 +14,16 @@ package k8s +import ( + "context" + "fmt" + "strings" + + "sigs.k8s.io/controller-runtime/pkg/client" +) + type Defaulter interface { - GetValue() string + ApplyDefaults(ctx context.Context, obj client.Object) (changed bool, err error) } // StateIntoSpecDefaulter contains the required 'defaultValue' field and the @@ -25,7 +33,29 @@ type StateIntoSpecDefaulter struct { userOverride *string } -func (v *StateIntoSpecDefaulter) GetValue() string { +func NewStateIntoSpecDefaulter(defaultValue string, userOverride *string) (Defaulter, error) { + if !isAcceptedValue(defaultValue, StateIntoSpecAnnotationValues) { + return nil, fmt.Errorf("invalid default value '%v' for '%v' annotation, need to be one of {%v}", defaultValue, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) + } + if userOverride != nil && !isAcceptedValue(*userOverride, StateIntoSpecAnnotationValues) { + return nil, fmt.Errorf("invalid user override value '%v' for '%v' annotation, need to be one of {%v}", userOverride, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) + } + return &StateIntoSpecDefaulter{ + defaultValue: defaultValue, + userOverride: userOverride, + }, nil +} + +func (v *StateIntoSpecDefaulter) ApplyDefaults(_ context.Context, resource client.Object) (changed bool, err error) { + // Validate or set the default value (cluster-level or namespace-level) for + // the 'state-into-spec' annotation. + if err := ValidateOrDefaultStateIntoSpecAnnotation(resource, v.getValue()); err != nil { + return false, fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", StateIntoSpecAnnotation, GetNamespacedName(resource), err) + } + return true, nil +} + +func (v *StateIntoSpecDefaulter) getValue() string { if v.userOverride == nil { return v.defaultValue } diff --git a/pkg/k8s/state_into_spec_annotation.go b/pkg/k8s/state_into_spec_annotation.go index 213ed3eb1c..e26e9d5ed7 100644 --- a/pkg/k8s/state_into_spec_annotation.go +++ b/pkg/k8s/state_into_spec_annotation.go @@ -21,19 +21,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -func NewStateIntoSpecDefaulter(defaultValue string, userOverride *string) (Defaulter, error) { - if !isAcceptedValue(defaultValue, StateIntoSpecAnnotationValues) { - return nil, fmt.Errorf("invalid default value '%v' for '%v' annotation, need to be one of {%v}", defaultValue, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) - } - if userOverride != nil && !isAcceptedValue(*userOverride, StateIntoSpecAnnotationValues) { - return nil, fmt.Errorf("invalid user override value '%v' for '%v' annotation, need to be one of {%v}", userOverride, StateIntoSpecAnnotation, strings.Join(StateIntoSpecAnnotationValues, ", ")) - } - return &StateIntoSpecDefaulter{ - defaultValue: defaultValue, - userOverride: userOverride, - }, nil -} - // ValidateOrDefaultStateIntoSpecAnnotation validates the value of the // 'state-into-spec' annotation if it is set and defaults the annotation to the // passed in defaultValue if it is unset. diff --git a/pkg/krmtotf/resource.go b/pkg/krmtotf/resource.go index b7509177a5..e3cfc3b357 100644 --- a/pkg/krmtotf/resource.go +++ b/pkg/krmtotf/resource.go @@ -27,6 +27,7 @@ import ( tfschema "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -98,6 +99,10 @@ func getServerGeneratedIDFromStatus(rc *corekccv1alpha1.ResourceConfig, status m return unstructured.NestedString(status, splitPath...) } +func (r *Resource) DeepCopyObject() runtime.Object { + panic("unexpected call to resource.DeepCopyObject(...)") +} + func (r *Resource) ValidateResourceIDIfSupported() error { if !SupportsResourceIDField(&r.ResourceConfig) { return nil diff --git a/pkg/test/controller/reconciler/testreconciler.go b/pkg/test/controller/reconciler/testreconciler.go index c638fd3794..dad5306ee9 100644 --- a/pkg/test/controller/reconciler/testreconciler.go +++ b/pkg/test/controller/reconciler/testreconciler.go @@ -221,7 +221,7 @@ func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDe } if crd.GetLabels()[crdgeneration.TF2CRDLabel] == "true" { - return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, stateIntoSpecDefaulter) + return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) } if crd.GetLabels()[k8s.DCL2CRDLabel] == "true" { return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines) From 67e098ae2d84e3a4fe106320d734da203f5cf7d5 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Fri, 26 Jan 2024 03:08:23 +0000 Subject: [PATCH 16/52] Enable the configuration of state-into-spec default value for DCL controller --- pkg/controller/dcl/controller.go | 20 ++++++++++--------- .../registration/registration_controller.go | 2 +- pkg/dcl/resource.go | 7 +++++++ pkg/krmtotf/resource.go | 1 + .../controller/reconciler/testreconciler.go | 2 +- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/pkg/controller/dcl/controller.go b/pkg/controller/dcl/controller.go index 3d59093b0b..368b69818f 100644 --- a/pkg/controller/dcl/controller.go +++ b/pkg/controller/dcl/controller.go @@ -78,6 +78,7 @@ type Reconciler struct { lifecyclehandler.LifecycleHandler metrics.ReconcilerMetrics resourceLeaser *leaser.ResourceLeaser + defaulters []k8s.Defaulter mgr manager.Manager schemaRef *k8s.SchemaReference schemaRefMu sync.RWMutex @@ -94,13 +95,13 @@ type Reconciler struct { } func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, converter *conversion.Converter, - dclConfig *mmdcl.Config, serviceMappingLoader *servicemappingloader.ServiceMappingLoader) (k8s.SchemaReferenceUpdater, error) { + dclConfig *mmdcl.Config, serviceMappingLoader *servicemappingloader.ServiceMappingLoader, defaulters []k8s.Defaulter) (k8s.SchemaReferenceUpdater, error) { kind := crd.Spec.Names.Kind apiVersion := k8s.GetAPIVersionFromCRD(crd) controllerName := fmt.Sprintf("%v-controller", strings.ToLower(kind)) immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - r, err := NewReconciler(mgr, crd, converter, dclConfig, serviceMappingLoader, immediateReconcileRequests, resourceWatcherRoutines) + r, err := NewReconciler(mgr, crd, converter, dclConfig, serviceMappingLoader, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return nil, err } @@ -124,7 +125,7 @@ func Add(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, conve return r, nil } -func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, converter *conversion.Converter, dclConfig *mmdcl.Config, serviceMappingLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinition, converter *conversion.Converter, dclConfig *mmdcl.Config, serviceMappingLoader *servicemappingloader.ServiceMappingLoader, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*Reconciler, error) { controllerName := fmt.Sprintf("%v-controller", strings.ToLower(crd.Spec.Names.Kind)) gvk := schema.GroupVersionKind{ Group: crd.Spec.Group, @@ -151,6 +152,7 @@ func NewReconciler(mgr manager.Manager, crd *apiextensions.CustomResourceDefinit GVK: gvk, }, resourceLeaser: leaser.NewResourceLeaser(nil, nil, mgr.GetClient()), + defaulters: defaulters, schema: dclSchema, logger: logger.WithName(controllerName), dclConfig: dclclientconfig.CopyAndModifyForKind(dclConfig, gvk.Kind), @@ -197,7 +199,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (res if err != nil { return reconcile.Result{}, fmt.Errorf("could not parse resource %s: %w", req.NamespacedName.String(), err) } - if err := r.handleDefaultStateIntoSpecValue(resource); err != nil { + if err := r.handleDefaults(ctx, resource); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for resource '%v': %w", k8s.GetNamespacedName(resource), err) } if err := r.applyChangesForBackwardsCompatibility(ctx, resource); err != nil { @@ -417,11 +419,11 @@ func (r *Reconciler) obtainResourceLeaseIfNecessary(ctx context.Context, resourc return nil } -func (r *Reconciler) handleDefaultStateIntoSpecValue(resource *dcl.Resource) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(&resource.Resource, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(resource), err) +func (r *Reconciler) handleDefaults(ctx context.Context, resource *dcl.Resource) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, resource); err != nil { + return err + } } return nil } diff --git a/pkg/controller/registration/registration_controller.go b/pkg/controller/registration/registration_controller.go index 8c309008b5..6044002985 100644 --- a/pkg/controller/registration/registration_controller.go +++ b/pkg/controller/registration/registration_controller.go @@ -184,7 +184,7 @@ func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.Cust default: // register controllers for dcl-based CRDs if val, ok := crd.Labels[k8s.DCL2CRDLabel]; ok && val == "true" { - su, err := dclcontroller.Add(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader) + su, err := dclcontroller.Add(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, r.defaulters) if err != nil { return nil, fmt.Errorf("error adding dcl controller for %v to a manager: %v", crd.Spec.Names.Kind, err) } diff --git a/pkg/dcl/resource.go b/pkg/dcl/resource.go index ec15217c03..6436914d12 100644 --- a/pkg/dcl/resource.go +++ b/pkg/dcl/resource.go @@ -17,6 +17,8 @@ package dcl import ( "fmt" + "k8s.io/apimachinery/pkg/runtime" + dclextension "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/dcl/extension" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/k8s" @@ -59,6 +61,11 @@ func NewResource(u *unstructured.Unstructured, schema *openapi.Schema) (*Resourc return resource, nil } +// DeepCopyObject is needed to implement the interface of client.Object. +func (r *Resource) DeepCopyObject() runtime.Object { + panic("unexpected call to resource.DeepCopyObject(...)") +} + func (r *Resource) ValidateResourceIDIfSupported() error { // The resource ID is represented by the top level 'name' field consistently in DCL. _, found := dclextension.GetNameFieldSchema(r.Schema) diff --git a/pkg/krmtotf/resource.go b/pkg/krmtotf/resource.go index e3cfc3b357..5cacc72132 100644 --- a/pkg/krmtotf/resource.go +++ b/pkg/krmtotf/resource.go @@ -99,6 +99,7 @@ func getServerGeneratedIDFromStatus(rc *corekccv1alpha1.ResourceConfig, status m return unstructured.NestedString(status, splitPath...) } +// DeepCopyObject is needed to implement the interface of client.Object. func (r *Resource) DeepCopyObject() runtime.Object { panic("unexpected call to resource.DeepCopyObject(...)") } diff --git a/pkg/test/controller/reconciler/testreconciler.go b/pkg/test/controller/reconciler/testreconciler.go index dad5306ee9..fe187abd35 100644 --- a/pkg/test/controller/reconciler/testreconciler.go +++ b/pkg/test/controller/reconciler/testreconciler.go @@ -224,7 +224,7 @@ func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDe return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) } if crd.GetLabels()[k8s.DCL2CRDLabel] == "true" { - return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines) + return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) } } return nil, fmt.Errorf("CRD format not recognized") From 1ac64c8329453d927d20047d3e02d9952327bf58 Mon Sep 17 00:00:00 2001 From: justinsb Date: Tue, 13 Feb 2024 13:59:48 -0500 Subject: [PATCH 17/52] tests: Fix loading samples to avoid mixing samples with the same name Otherwise foo/test and bar/test both get mixed into "test" --- config/tests/samples/create/samples.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/tests/samples/create/samples.go b/config/tests/samples/create/samples.go index b8964782d5..751f46cb72 100644 --- a/config/tests/samples/create/samples.go +++ b/config/tests/samples/create/samples.go @@ -293,10 +293,10 @@ func ListMatchingSamples(t *testing.T, regex *regexp.Regexp) []SampleKey { if strings.HasSuffix(d.Name(), ".yaml") { sampleName := filepath.Base(filepath.Dir(path)) if regex.MatchString(sampleName) { - sampleKey := samples[sampleName] + sampleKey := samples[filepath.Dir(path)] sampleKey.Name = sampleName sampleKey.files = append(sampleKey.files, path) - samples[sampleName] = sampleKey + samples[filepath.Dir(path)] = sampleKey } } return nil From 5913a99e715639648a16aef5573bd876d4274e84 Mon Sep 17 00:00:00 2001 From: justinsb Date: Sat, 10 Feb 2024 10:57:09 -0500 Subject: [PATCH 18/52] tests: Filter log messages This avoids a lot of logspam and lets us better see what is actually happening. --- config/tests/samples/create/harness.go | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index d7ba0a53ce..7a488338c5 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -24,6 +24,7 @@ import ( "testing" "time" + "github.com/go-logr/logr" "github.com/google/go-cmp/cmp" transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport" "golang.org/x/oauth2" @@ -33,6 +34,7 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" @@ -344,6 +346,8 @@ func NewHarness(t *testing.T, ctx context.Context) *Harness { ctrlManagerShutdown.Wait() t.Log("controller-runtime manager is shutdown") }) + kccConfig.ManagerOptions.Logger = filterLogs(log) + mgr, err := kccmanager.New(mgrContext, h.restConfig, kccConfig) if err != nil { t.Fatalf("error creating new manager: %v", err) @@ -545,3 +549,53 @@ func (h *Harness) ReplaceString(from, to string) func(string) string { return strings.ReplaceAll(s, from, to) } } + +func filterLogs(log logr.Logger) logr.Logger { + f := &filterSink{sink: log.GetSink()} + f.IgnoreMessages = sets.New[string]() + f.IgnoreMessages.Insert("Registered controller") + f.IgnoreMessages.Insert("Starting Controller") + f.IgnoreMessages.Insert("Starting EventSource") + f.IgnoreMessages.Insert("Starting workers") + f.IgnoreMessages.Insert("Shutdown signal received, waiting for all workers to finish") + f.IgnoreMessages.Insert("All workers finished") + return log.WithSink(f) +} + +type filterSink struct { + IgnoreMessages sets.Set[string] + sink logr.LogSink +} + +// Init implements logr.LogSink +func (s *filterSink) Init(info logr.RuntimeInfo) { + s.sink.Init(info) +} + +// Enabled implements logr.LogSink +func (s *filterSink) Enabled(level int) bool { + return s.sink.Enabled(level) +} + +// Info implements logr.LogSink +func (s *filterSink) Info(level int, msg string, args ...any) { + if s.IgnoreMessages.Has(msg) { + return + } + s.sink.Info(level, msg, args...) +} + +// WithValues implements logr.LogSink +func (s *filterSink) WithValues(keysAndValues ...any) logr.LogSink { + return &filterSink{IgnoreMessages: s.IgnoreMessages, sink: s.sink.WithValues(keysAndValues...)} +} + +// WithName implements logr.LogSink +func (s *filterSink) WithName(name string) logr.LogSink { + return &filterSink{IgnoreMessages: s.IgnoreMessages, sink: s.sink.WithName(name)} +} + +// Error implements logr.LogSink +func (s *filterSink) Error(err error, msg string, args ...any) { + s.sink.Error(err, msg, args...) +} From 3f7b3813857451a81b7d0ed30cb0c541d54044c7 Mon Sep 17 00:00:00 2001 From: Joyce Ma Date: Wed, 14 Feb 2024 05:02:30 +0000 Subject: [PATCH 19/52] Enable the configuration of state-into-spec default value for IAM policy relevant controllers --- .../auditconfig/iamauditconfig_controller.go | 26 ++++++++++--------- .../iampartialpolicy_controller.go | 26 ++++++++++--------- .../iam/policy/iampolicy_controller.go | 26 ++++++++++--------- .../iampolicymember_controller.go | 26 ++++++++++--------- .../registration/registration_controller.go | 8 +++--- .../controller/reconciler/testreconciler.go | 25 +++++++++--------- 6 files changed, 73 insertions(+), 64 deletions(-) diff --git a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go index c658e3a82b..f4d1d72c4c 100644 --- a/pkg/controller/iam/auditconfig/iamauditconfig_controller.go +++ b/pkg/controller/iam/auditconfig/iamauditconfig_controller.go @@ -60,17 +60,17 @@ const controllerName = "iamauditconfig-controller" var logger = klog.Log.WithName(controllerName) func Add(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, - converter *conversion.Converter, dclConfig *mmdcl.Config) error { + converter *conversion.Converter, dclConfig *mmdcl.Config, defaulters []k8s.Defaulter) error { immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - reconciler, err := NewReconciler(mgr, provider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err := NewReconciler(mgr, provider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return err } return add(mgr, reconciler) } -func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*Reconciler, error) { r := Reconciler{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), @@ -80,6 +80,7 @@ func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *s iamClient: kcciamclient.New(provider, smLoader, mgr.GetClient(), converter, dclConfig).TFIAMClient, scheme: mgr.GetScheme(), config: mgr.GetConfig(), + defaulters: defaulters, immediateReconcileRequests: immediateReconcileRequests, resourceWatcherRoutines: resourceWatcherRoutines, } @@ -108,9 +109,10 @@ type Reconciler struct { lifecyclehandler.LifecycleHandler client.Client metrics.ReconcilerMetrics - iamClient *kcciamclient.TFIAMClient - scheme *runtime.Scheme - config *rest.Config + iamClient *kcciamclient.TFIAMClient + scheme *runtime.Scheme + config *rest.Config + defaulters []k8s.Defaulter // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies @@ -139,7 +141,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } - if err := r.handleDefaultStateIntoSpecValue(&auditConfig); err != nil { + if err := r.handleDefaults(ctx, &auditConfig); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %w", k8s.GetNamespacedName(&auditConfig), err) } reconcileContext := &reconcileContext{ @@ -162,11 +164,11 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *Reconciler) handleDefaultStateIntoSpecValue(auditConfig *iamv1beta1.IAMAuditConfig) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(auditConfig, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(auditConfig), err) +func (r *Reconciler) handleDefaults(ctx context.Context, auditConfig *iamv1beta1.IAMAuditConfig) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, auditConfig); err != nil { + return err + } } return nil } diff --git a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go index e25b266b0b..f28e4077a7 100644 --- a/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go +++ b/pkg/controller/iam/partialpolicy/iampartialpolicy_controller.go @@ -65,10 +65,10 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new IAM Partial Policy Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and start it when the Manager is started. func Add(mgr manager.Manager, tfProvider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, - converter *conversion.Converter, dclConfig *mmdcl.Config) error { + converter *conversion.Converter, dclConfig *mmdcl.Config, defaulters []k8s.Defaulter) error { immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - reconciler, err := NewReconciler(mgr, tfProvider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err := NewReconciler(mgr, tfProvider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return err } @@ -76,7 +76,7 @@ func Add(mgr manager.Manager, tfProvider *tfschema.Provider, smLoader *servicema } // NewReconciler returns a new reconcile.Reconciler. -func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*ReconcileIAMPartialPolicy, error) { +func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*ReconcileIAMPartialPolicy, error) { r := ReconcileIAMPartialPolicy{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), @@ -86,6 +86,7 @@ func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *s iamClient: iamclient.New(provider, smLoader, mgr.GetClient(), converter, dclConfig), scheme: mgr.GetScheme(), config: mgr.GetConfig(), + defaulters: defaulters, immediateReconcileRequests: immediateReconcileRequests, resourceWatcherRoutines: resourceWatcherRoutines, ReconcilerMetrics: metrics.ReconcilerMetrics{ @@ -118,9 +119,10 @@ type ReconcileIAMPartialPolicy struct { lifecyclehandler.LifecycleHandler client.Client metrics.ReconcilerMetrics - iamClient *kcciamclient.IAMClient - scheme *runtime.Scheme - config *rest.Config + iamClient *kcciamclient.IAMClient + scheme *runtime.Scheme + config *rest.Config + defaulters []k8s.Defaulter // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies @@ -151,7 +153,7 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon // Error reading the object - requeue the request. return reconcile.Result{}, err } - if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { + if err := r.handleDefaults(ctx, policy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM partial policy '%v': %w", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ @@ -174,11 +176,11 @@ func (r *ReconcileIAMPartialPolicy) Reconcile(ctx context.Context, request recon return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *ReconcileIAMPartialPolicy) handleDefaultStateIntoSpecValue(pp *iamv1beta1.IAMPartialPolicy) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(pp, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(pp), err) +func (r *ReconcileIAMPartialPolicy) handleDefaults(ctx context.Context, pp *iamv1beta1.IAMPartialPolicy) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, pp); err != nil { + return err + } } return nil } diff --git a/pkg/controller/iam/policy/iampolicy_controller.go b/pkg/controller/iam/policy/iampolicy_controller.go index 01adfbe17f..2882dbcef9 100644 --- a/pkg/controller/iam/policy/iampolicy_controller.go +++ b/pkg/controller/iam/policy/iampolicy_controller.go @@ -63,10 +63,10 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new IAM Policy Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and start it when the Manager is started. func Add(mgr manager.Manager, tfProvider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, - converter *conversion.Converter, dclConfig *mmdcl.Config) error { + converter *conversion.Converter, dclConfig *mmdcl.Config, defaulters []k8s.Defaulter) error { immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - reconciler, err := NewReconciler(mgr, tfProvider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err := NewReconciler(mgr, tfProvider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return err } @@ -74,7 +74,7 @@ func Add(mgr manager.Manager, tfProvider *tfschema.Provider, smLoader *servicema } // NewReconciler returns a new reconcile.Reconciler. -func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*ReconcileIAMPolicy, error) { +func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*ReconcileIAMPolicy, error) { r := ReconcileIAMPolicy{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), @@ -83,6 +83,7 @@ func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *s Client: mgr.GetClient(), iamClient: iamclient.New(provider, smLoader, mgr.GetClient(), converter, dclConfig), config: mgr.GetConfig(), + defaulters: defaulters, immediateReconcileRequests: immediateReconcileRequests, resourceWatcherRoutines: resourceWatcherRoutines, scheme: mgr.GetScheme(), @@ -116,9 +117,10 @@ type ReconcileIAMPolicy struct { lifecyclehandler.LifecycleHandler client.Client metrics.ReconcilerMetrics - iamClient *kcciamclient.IAMClient - scheme *runtime.Scheme - config *rest.Config + iamClient *kcciamclient.IAMClient + scheme *runtime.Scheme + config *rest.Config + defaulters []k8s.Defaulter // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies @@ -150,7 +152,7 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re // Error reading the object - requeue the request. return reconcile.Result{}, err } - if err := r.handleDefaultStateIntoSpecValue(policy); err != nil { + if err := r.handleDefaults(ctx, policy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy '%v': %w", k8s.GetNamespacedName(policy), err) } runCtx := &reconcileContext{ @@ -173,11 +175,11 @@ func (r *ReconcileIAMPolicy) Reconcile(ctx context.Context, request reconcile.Re return reconcile.Result{RequeueAfter: jitteredPeriod}, nil } -func (r *ReconcileIAMPolicy) handleDefaultStateIntoSpecValue(policy *iamv1beta1.IAMPolicy) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policy, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policy), err) +func (r *ReconcileIAMPolicy) handleDefaults(ctx context.Context, policy *iamv1beta1.IAMPolicy) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, policy); err != nil { + return err + } } return nil } diff --git a/pkg/controller/iam/policymember/iampolicymember_controller.go b/pkg/controller/iam/policymember/iampolicymember_controller.go index e0edf3b091..e488affdac 100644 --- a/pkg/controller/iam/policymember/iampolicymember_controller.go +++ b/pkg/controller/iam/policymember/iampolicymember_controller.go @@ -64,10 +64,10 @@ var logger = klog.Log.WithName(controllerName) // Add creates a new IAM Policy Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and start it when the Manager is started. func Add(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, - converter *conversion.Converter, dclConfig *mmdcl.Config) error { + converter *conversion.Converter, dclConfig *mmdcl.Config, defaulters []k8s.Defaulter) error { immediateReconcileRequests := make(chan event.GenericEvent, k8s.ImmediateReconcileRequestsBufferSize) resourceWatcherRoutines := semaphore.NewWeighted(k8s.MaxNumResourceWatcherRoutines) - reconciler, err := NewReconciler(mgr, provider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err := NewReconciler(mgr, provider, smLoader, converter, dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) if err != nil { return err } @@ -75,7 +75,7 @@ func Add(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemapp } // NewReconciler returns a new reconcile.Reconciler. -func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted) (*Reconciler, error) { +func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *servicemappingloader.ServiceMappingLoader, converter *conversion.Converter, dclConfig *mmdcl.Config, immediateReconcileRequests chan event.GenericEvent, resourceWatcherRoutines *semaphore.Weighted, defaulters []k8s.Defaulter) (*Reconciler, error) { r := Reconciler{ LifecycleHandler: lifecyclehandler.NewLifecycleHandler( mgr.GetClient(), @@ -85,6 +85,7 @@ func NewReconciler(mgr manager.Manager, provider *tfschema.Provider, smLoader *s iamClient: kcciamclient.New(provider, smLoader, mgr.GetClient(), converter, dclConfig), scheme: mgr.GetScheme(), config: mgr.GetConfig(), + defaulters: defaulters, immediateReconcileRequests: immediateReconcileRequests, resourceWatcherRoutines: resourceWatcherRoutines, requeueRateLimiter: kccratelimiter.RequeueRateLimiter(), @@ -115,9 +116,10 @@ type Reconciler struct { lifecyclehandler.LifecycleHandler client.Client metrics.ReconcilerMetrics - iamClient *kcciamclient.IAMClient - scheme *runtime.Scheme - config *rest.Config + iamClient *kcciamclient.IAMClient + scheme *runtime.Scheme + config *rest.Config + defaulters []k8s.Defaulter // Fields used for triggering reconciliations when dependencies are ready immediateReconcileRequests chan event.GenericEvent resourceWatcherRoutines *semaphore.Weighted // Used to cap number of goroutines watching unready dependencies @@ -149,7 +151,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( } return reconcile.Result{}, err } - if err := r.handleDefaultStateIntoSpecValue(&memberPolicy); err != nil { + if err := r.handleDefaults(ctx, &memberPolicy); err != nil { return reconcile.Result{}, fmt.Errorf("error handling default values for IAM policy member '%v': %w", k8s.GetNamespacedName(&memberPolicy), err) } reconcileContext := &reconcileContext{ @@ -175,11 +177,11 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) ( return reconcile.Result{RequeueAfter: requeueAfter}, nil } -func (r *Reconciler) handleDefaultStateIntoSpecValue(policyMember *iamv1beta1.IAMPolicyMember) error { - // Validate or set the default value (cluster-level or namespace-level) for - // the 'state-into-spec' annotation. - if err := k8s.ValidateOrDefaultStateIntoSpecAnnotation(policyMember, k8s.StateMergeIntoSpec); err != nil { - return fmt.Errorf("error validating or defaulting the '%v' annotation for resource '%v': %w", k8s.StateIntoSpecAnnotation, k8s.GetNamespacedName(policyMember), err) +func (r *Reconciler) handleDefaults(ctx context.Context, policyMember *iamv1beta1.IAMPolicyMember) error { + for _, defaulter := range r.defaulters { + if _, err := defaulter.ApplyDefaults(ctx, policyMember); err != nil { + return err + } } return nil } diff --git a/pkg/controller/registration/registration_controller.go b/pkg/controller/registration/registration_controller.go index 6044002985..117e09b086 100644 --- a/pkg/controller/registration/registration_controller.go +++ b/pkg/controller/registration/registration_controller.go @@ -166,19 +166,19 @@ func RegisterDefaultController(r *ReconcileRegistration, crd *apiextensions.Cust var schemaUpdater k8s.SchemaReferenceUpdater switch gvk.Kind { case "IAMPolicy": - if err := policy.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig); err != nil { + if err := policy.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, r.defaulters); err != nil { return nil, err } case "IAMPartialPolicy": - if err := partialpolicy.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig); err != nil { + if err := partialpolicy.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, r.defaulters); err != nil { return nil, err } case "IAMPolicyMember": - if err := policymember.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig); err != nil { + if err := policymember.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, r.defaulters); err != nil { return nil, err } case "IAMAuditConfig": - if err := auditconfig.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig); err != nil { + if err := auditconfig.Add(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, r.defaulters); err != nil { return nil, err } default: diff --git a/pkg/test/controller/reconciler/testreconciler.go b/pkg/test/controller/reconciler/testreconciler.go index fe187abd35..0fb6faa486 100644 --- a/pkg/test/controller/reconciler/testreconciler.go +++ b/pkg/test/controller/reconciler/testreconciler.go @@ -184,19 +184,24 @@ func (r *TestReconciler) NewReconcilerForKind(kind string) reconcile.Reconciler // nature. var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil + stateIntoSpecDefaulter, err := k8s.NewStateIntoSpecDefaulter(k8s.StateIntoSpecDefaultValueV1Beta1, nil) + if err != nil { + r.t.Fatalf("error constructing new state into spec value: %v", err) + } + defaulters := []k8s.Defaulter{stateIntoSpecDefaulter} switch kind { case "IAMPolicy": - reconciler, err = policy.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err = policy.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) case "IAMPartialPolicy": - reconciler, err = partialpolicy.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err = partialpolicy.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) case "IAMPolicyMember": - reconciler, err = policymember.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err = policymember.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) case "IAMAuditConfig": - reconciler, err = auditconfig.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines) + reconciler, err = auditconfig.NewReconciler(r.mgr, r.provider, r.smLoader, r.dclConverter, r.dclConfig, immediateReconcileRequests, resourceWatcherRoutines, defaulters) default: crd := testcontroller.GetCRDForKind(r.t, r.mgr.GetClient(), kind) - reconciler, err = r.newReconcilerForCRD(crd) + reconciler, err = r.newReconcilerForCRD(crd, defaulters) } if err != nil { r.t.Fatalf("error creating reconciler: %v", err) @@ -204,7 +209,7 @@ func (r *TestReconciler) NewReconcilerForKind(kind string) reconcile.Reconciler return reconciler } -func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDefinition) (reconcile.Reconciler, error) { +func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDefinition, defaulters []k8s.Defaulter) (reconcile.Reconciler, error) { if crd.GetLabels()[crdgeneration.ManagedByKCCLabel] == "true" { // Set 'immediateReconcileRequests' and 'resourceWatcherRoutines' // to nil to disable reconciler's ability to create asynchronous @@ -215,16 +220,12 @@ func (r *TestReconciler) newReconcilerForCRD(crd *apiextensions.CustomResourceDe // nature. var immediateReconcileRequests chan event.GenericEvent = nil var resourceWatcherRoutines *semaphore.Weighted = nil - stateIntoSpecDefaulter, err := k8s.NewStateIntoSpecDefaulter(k8s.StateIntoSpecDefaultValueV1Beta1, nil) - if err != nil { - return nil, fmt.Errorf("error constructing new state into spec value: %v", err) - } if crd.GetLabels()[crdgeneration.TF2CRDLabel] == "true" { - return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) + return tf.NewReconciler(r.mgr, crd, r.provider, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, defaulters) } if crd.GetLabels()[k8s.DCL2CRDLabel] == "true" { - return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, []k8s.Defaulter{stateIntoSpecDefaulter}) + return dclcontroller.NewReconciler(r.mgr, crd, r.dclConverter, r.dclConfig, r.smLoader, immediateReconcileRequests, resourceWatcherRoutines, defaulters) } } return nil, fmt.Errorf("CRD format not recognized") From 4ebcaddfdde2a6465beb1a3a80fb4c2fbc0e3607 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Sat, 3 Feb 2024 02:00:36 +0000 Subject: [PATCH 20/52] ci: add golangci-lint Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- .github/workflows/lint.yaml | 46 +++++++++++++++++++++++++++++++++++++ .golangci.yaml | 45 ++++++++++++++++++++++++++++++++++++ Makefile | 10 +++++++- 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/lint.yaml create mode 100644 .golangci.yaml diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml new file mode 100644 index 0000000000..6836685190 --- /dev/null +++ b/.github/workflows/lint.yaml @@ -0,0 +1,46 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: linter +on: + push: + # should more or less match what we have in .golangci.yaml + paths-ignore: + - "third_party/**" + - "**.md" + - pkg/clients/generated + pull_request: + paths-ignore: + - "third_party/**" + - "**.md" + - pkg/clients/generated +permissions: read-all +jobs: + lint: + name: lint + runs-on: ubuntu-22.04 + timeout-minutes: 7 + steps: + - name: Check out code into the Go module directory + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: 1.21.5 + - name: golangci-lint + uses: golangci/golangci-lint-action@3a919529898de77ec3da873e3063ca4b10e7f5cc # v3.7.0 + with: + version: v1.54.1 # should match the version in Makefile \ No newline at end of file diff --git a/.golangci.yaml b/.golangci.yaml new file mode 100644 index 0000000000..768a92ce86 --- /dev/null +++ b/.golangci.yaml @@ -0,0 +1,45 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +run: + timeout: 5m + skip-dirs: + - third_party + - pkg/clients/generated +linters: + disable-all: true + enable: + - errcheck + - errorlint + - exportloopref + - forcetypeassert + - gci + - gocritic + - goconst + - godot + - gofmt + - gofumpt + - goimports + - gosec + - gosimple + - govet + - importas + - ineffassign + - misspell + - revive # replacement for golint + - staticcheck + - typecheck + - unconvert + - unused + - whitespace \ No newline at end of file diff --git a/Makefile b/Makefile index 7a8fa09d47..2cc2076500 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,11 @@ RECORDER_IMG ?= gcr.io/${PROJECT_ID}/recorder:${SHORT_SHA} WEBHOOK_IMG ?= gcr.io/${PROJECT_ID}/webhook:${SHORT_SHA} DELETION_DEFENDER_IMG ?= gcr.io/${PROJECT_ID}/deletiondefender:${SHORT_SHA} UNMANAGED_DETECTOR_IMG ?= gcr.io/${PROJECT_ID}/unmanageddetector:${SHORT_SHA} +# Detects the location of the user golangci-lint cache. +GOLANGCI_LINT_CACHE := $(shell pwd)/.tmp/golangci-lint +# When updating this, make sure to update the corresponding action in +# ./github/workflows/lint.yaml +GOLANGCI_LINT_VERSION := v1.54.1 # Use Docker BuildKit when building images to allow usage of 'setcap' in # multi-stage builds (https://github.com/moby/moby/issues/38132) @@ -90,7 +95,10 @@ fmt: .PHONY: lint lint: - for f in `find pkg cmd -name "*.go"`; do golint -set_exit_status $$f || exit $?; done + docker run --rm -v $(shell pwd):/app \ + -v ${GOLANGCI_LINT_CACHE}:/root/.cache/golangci-lint \ + -w /app golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine \ + golangci-lint run -v # Run go vet against code .PHONY: vet From 11823819ed55071eafa1f3ab5ee0e7a3105cfd58 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Tue, 13 Feb 2024 03:52:33 +0000 Subject: [PATCH 21/52] chore:lint: address errcheck - also string replace some openapi.Schema redundant type definitions Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- operator/pkg/controllers/utils.go | 2 +- operator/pkg/logging/logging_test.go | 8 +- pkg/cli/cmd/commonparams/commonparams.go | 4 +- ...et_to_unstructured_resource_stream_test.go | 5 +- pkg/controller/iam/iamclient/tfiamclient.go | 24 +++-- pkg/controller/lifecyclehandler/handler.go | 47 ++++++++-- .../resourcewatcher/resourcewatcher_test.go | 7 +- pkg/crd/testutils/tesutils.go | 8 +- pkg/dcl/kcclite/conversion_test.go | 89 ++++++++++--------- pkg/dcl/kcclite/templating_test.go | 44 ++++----- pkg/krmtotf/references_test.go | 10 ++- pkg/logging/logging_test.go | 8 +- pkg/resourceoverrides/dns_record_set.go | 12 ++- pkg/test/main/testmain.go | 4 +- pkg/tf/serialization/tf_resource_test.go | 4 +- 15 files changed, 179 insertions(+), 97 deletions(-) diff --git a/operator/pkg/controllers/utils.go b/operator/pkg/controllers/utils.go index c83dcc7d39..72a1373445 100644 --- a/operator/pkg/controllers/utils.go +++ b/operator/pkg/controllers/utils.go @@ -321,7 +321,7 @@ func updateContainerEnvIfFound(container map[string]interface{}, name, value str } // write back env list - if unstructured.SetNestedSlice(container, envs, "env"); err != nil { + if err := unstructured.SetNestedSlice(container, envs, "env"); err != nil { return fmt.Errorf("error setting container env list: %v", err) } return nil diff --git a/operator/pkg/logging/logging_test.go b/operator/pkg/logging/logging_test.go index f7cdb7253b..fae64a063b 100644 --- a/operator/pkg/logging/logging_test.go +++ b/operator/pkg/logging/logging_test.go @@ -38,11 +38,11 @@ func TestBuildLoggerFormat(t *testing.T) { logger.Info(inputInfo) logger.Error(&ExampleError{}, "test") wantList := [...]map[string]interface{}{ - map[string]interface{}{ + { "msg": inputInfo, "severity": "info", }, - map[string]interface{}{ + { "error": "ExampleError", "msg": "test", "severity": "error", @@ -56,7 +56,9 @@ func TestBuildLoggerFormat(t *testing.T) { t.Fatalf("ReadString('\n') failed: %s", err) } var got map[string]interface{} - json.Unmarshal([]byte(loggedLine), &got) + if err := json.Unmarshal([]byte(loggedLine), &got); err != nil { + t.Fatal(err) + } if _, ok := got["timestamp"]; !ok { t.Fatalf("the log message %v doesn't contain `timestamp`", got) } diff --git a/pkg/cli/cmd/commonparams/commonparams.go b/pkg/cli/cmd/commonparams/commonparams.go index 493ab91d01..d6430ef1f6 100644 --- a/pkg/cli/cmd/commonparams/commonparams.go +++ b/pkg/cli/cmd/commonparams/commonparams.go @@ -104,7 +104,9 @@ func AddOutputParam(cmd *cobra.Command, value *string) { func AddResourceFormatParam(cmd *cobra.Command, value *string) { cmd.Flags().StringVar(value, ResourceFormatParamName, ResourceFormatDefault, ResourceFormatUsage) - cmd.Flags().MarkHidden(ResourceFormatParamName) + if err := cmd.Flags().MarkHidden(ResourceFormatParamName); err != nil { + panic(err) + } } func ValidateResourceFormat(resourceFormat, iamFormat string) error { diff --git a/pkg/cli/stream/asset_to_unstructured_resource_stream_test.go b/pkg/cli/stream/asset_to_unstructured_resource_stream_test.go index 9ba4afa0a7..d798ec5f52 100644 --- a/pkg/cli/stream/asset_to_unstructured_resource_stream_test.go +++ b/pkg/cli/stream/asset_to_unstructured_resource_stream_test.go @@ -79,7 +79,10 @@ func (m *mockGCPClient) Get(ctx context.Context, u *unstructured.Unstructured) ( Object: deepcopy.DeepCopy(u.Object).(map[string]interface{}), } value := "this value verifies I was created by the mock client" - unstructured.SetNestedField(newUnstruct.Object, value, "spec", "testKey") + if err := unstructured.SetNestedField(newUnstruct.Object, value, "spec", "testKey"); err != nil { + return nil, err + } + return &newUnstruct, nil } diff --git a/pkg/controller/iam/iamclient/tfiamclient.go b/pkg/controller/iam/iamclient/tfiamclient.go index e757132ecc..c549c875a5 100644 --- a/pkg/controller/iam/iamclient/tfiamclient.go +++ b/pkg/controller/iam/iamclient/tfiamclient.go @@ -341,7 +341,9 @@ func (t *TFIAMClient) newResource(ctx context.Context, iamInterface interface{}, if err != nil { return nil, fmt.Errorf("error marshalling policy data to JSON: %w", err) } - unstructured.SetNestedField(unstructSkeleton.Object, string(b), "spec", "policyData") + if err := unstructured.SetNestedField(unstructSkeleton.Object, string(b), "spec", "policyData"); err != nil { + return nil, err + } case *v1beta1.IAMPolicyMember: // An unstructured skeleton for getting an IAM policy member already // fully represents the IAM policy member. @@ -352,7 +354,9 @@ func (t *TFIAMClient) newResource(ctx context.Context, iamInterface interface{}, if err := util.Marshal(auditLogConfigs, &auditLogConfigSlice); err != nil { return nil, fmt.Errorf("unable to marshal %v to slice: %w", reflect.TypeOf(auditLogConfigs).Name(), err) } - unstructured.SetNestedSlice(unstructSkeleton.Object, auditLogConfigSlice, "spec", "auditLogConfig") + if err := unstructured.SetNestedSlice(unstructSkeleton.Object, auditLogConfigSlice, "spec", "auditLogConfig"); err != nil { + return nil, err + } default: panic(fmt.Errorf("unknown type: %v", reflect.TypeOf(iamInterface).Name())) } @@ -398,20 +402,28 @@ func (t *TFIAMClient) newUnstructuredSkeleton(ctx context.Context, iamInterface if err != nil { return nil, fmt.Errorf("could not resolve member identity for IAMPolicyMember: %w", err) } - unstructured.SetNestedField(unstructSkeleton.Object, member, "spec", "member") - unstructured.SetNestedField(unstructSkeleton.Object, iamObject.Spec.Role, "spec", "role") + if err := unstructured.SetNestedField(unstructSkeleton.Object, member, "spec", "member"); err != nil { + return nil, err + } + if err := unstructured.SetNestedField(unstructSkeleton.Object, iamObject.Spec.Role, "spec", "role"); err != nil { + return nil, err + } if iamObject.Spec.Condition != nil { condition := iamObject.Spec.Condition var conditionMap map[string]interface{} if err := util.Marshal(condition, &conditionMap); err != nil { return nil, fmt.Errorf("unable to marshal %v to map: %w", reflect.TypeOf(condition).Name(), err) } - unstructured.SetNestedMap(unstructSkeleton.Object, conditionMap, "spec", "condition") + if err := unstructured.SetNestedMap(unstructSkeleton.Object, conditionMap, "spec", "condition"); err != nil { + return nil, err + } } return unstructSkeleton, nil case *v1beta1.IAMAuditConfig: // IAM audit configs are uniquely identified by their service field. - unstructured.SetNestedField(unstructSkeleton.Object, iamObject.Spec.Service, "spec", "service") + if err := unstructured.SetNestedField(unstructSkeleton.Object, iamObject.Spec.Service, "spec", "service"); err != nil { + return nil, err + } return unstructSkeleton, nil default: panic(fmt.Errorf("unknown type: %v", reflect.TypeOf(iamInterface).Name())) diff --git a/pkg/controller/lifecyclehandler/handler.go b/pkg/controller/lifecyclehandler/handler.go index 9ac78d9488..f3edd10fcf 100644 --- a/pkg/controller/lifecyclehandler/handler.go +++ b/pkg/controller/lifecyclehandler/handler.go @@ -241,7 +241,10 @@ func (r *LifecycleHandler) HandleUnresolvableDeps(ctx context.Context, resource return err } } - r.recordEvent(resource, corev1.EventTypeWarning, reason, msg) + if err := r.recordEvent(resource, corev1.EventTypeWarning, reason, msg); err != nil { + return err + } + return nil } @@ -269,7 +272,10 @@ func (r *LifecycleHandler) HandlePreActuationTransformFailed(ctx context.Context return err } } - r.recordEvent(resource, corev1.EventTypeWarning, k8s.PreActuationTransformFailed, msg) + if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.PreActuationTransformFailed, msg); err != nil { + return err + } + return err } @@ -283,7 +289,10 @@ func (r *LifecycleHandler) HandlePostActuationTransformFailed(ctx context.Contex return err } } - r.recordEvent(resource, corev1.EventTypeWarning, k8s.PostActuationTransformFailed, msg) + if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.PostActuationTransformFailed, msg); err != nil { + return err + } + return err } @@ -293,7 +302,10 @@ func (r *LifecycleHandler) HandleUpdating(ctx context.Context, resource *k8s.Res if err := r.updateStatus(ctx, resource); err != nil { return err } - r.recordEvent(resource, corev1.EventTypeNormal, k8s.Updating, k8s.UpdatingMessage) + if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Updating, k8s.UpdatingMessage); err != nil { + return err + } + return nil } @@ -304,7 +316,11 @@ func (r *LifecycleHandler) HandleUpdateFailed(ctx context.Context, resource *k8s if err := r.updateStatus(ctx, resource); err != nil { return err } - r.recordEvent(resource, corev1.EventTypeWarning, k8s.UpdateFailed, msg) + + if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.UpdateFailed, msg); err != nil { + return err + } + return fmt.Errorf("Update call failed: %w", err) } @@ -314,7 +330,11 @@ func (r *LifecycleHandler) HandleDeleting(ctx context.Context, resource *k8s.Res if err := r.updateStatus(ctx, resource); err != nil { return err } - r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleting, k8s.DeletingMessage) + + if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleting, k8s.DeletingMessage); err != nil { + return err + } + return nil } @@ -326,7 +346,10 @@ func (r *LifecycleHandler) HandleDeleted(ctx context.Context, resource *k8s.Reso if err := r.updateStatus(ctx, resource); err != nil { return fmt.Errorf("error updating status: %w", err) } - r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleted, k8s.DeletedMessage) + + if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleted, k8s.DeletedMessage); err != nil { + return err + } k8s.RemoveFinalizer(resource, k8s.ControllerFinalizerName) return r.updateAPIServer(ctx, resource) @@ -339,7 +362,10 @@ func (r *LifecycleHandler) HandleDeleteFailed(ctx context.Context, resource *k8s if err := r.updateStatus(ctx, resource); err != nil { return err } - r.recordEvent(resource, corev1.EventTypeWarning, k8s.DeleteFailed, msg) + + if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.DeleteFailed, msg); err != nil { + return err + } return fmt.Errorf("Delete call failed: %w", err) } @@ -350,7 +376,10 @@ func (r *LifecycleHandler) HandleUnmanaged(ctx context.Context, resource *k8s.Re if err := r.updateStatus(ctx, resource); err != nil { return err } - r.recordEvent(resource, corev1.EventTypeWarning, k8s.Unmanaged, msg) + + if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.Unmanaged, msg); err != nil { + return err + } return nil } diff --git a/pkg/controller/resourcewatcher/resourcewatcher_test.go b/pkg/controller/resourcewatcher/resourcewatcher_test.go index 2cbb8052ce..c2684a1d88 100644 --- a/pkg/controller/resourcewatcher/resourcewatcher_test.go +++ b/pkg/controller/resourcewatcher/resourcewatcher_test.go @@ -65,9 +65,12 @@ func TestWatchResourceSuccess(t *testing.T) { if err != nil { t.Fatalf("got unexpected error: %v", err) } - fake.Resource(k8s.ToGVR(gvk)). + if _, err := fake.Resource(k8s.ToGVR(gvk)). Namespace(nn.Namespace). - Create(context.TODO(), readyResourceUnstructured, metav1.CreateOptions{}) + Create(context.TODO(), readyResourceUnstructured, metav1.CreateOptions{}); + err != nil { + t.Fatal(err) + } ctx, cancel := context.WithTimeout(context.TODO(), time.Minute) defer cancel() if err := resourcewatcher.WaitForResourceToBeReadyViaWatch(ctx, watch, logger); err != nil { diff --git a/pkg/crd/testutils/tesutils.go b/pkg/crd/testutils/tesutils.go index 9d76bccb87..6a23edff94 100644 --- a/pkg/crd/testutils/tesutils.go +++ b/pkg/crd/testutils/tesutils.go @@ -16,7 +16,7 @@ package testutils import ( "flag" - "io/ioutil" + "os" "testing" "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/test" @@ -28,9 +28,11 @@ var update = flag.Bool("update", false, "update .golden files") func VerifyContentsMatch(t *testing.T, actualBytes []byte, expectedFilePath string) { if *update { - ioutil.WriteFile(expectedFilePath, actualBytes, 0644) + if err := os.WriteFile(expectedFilePath, actualBytes, 0644); err != nil { + t.Fatalf("error writing file '%v': %v", expectedFilePath, err) + } } - expectedBytes, err := ioutil.ReadFile(expectedFilePath) + expectedBytes, err := os.ReadFile(expectedFilePath) if err != nil { t.Fatalf("error reading file '%v': %v", expectedFilePath, err) } diff --git a/pkg/dcl/kcclite/conversion_test.go b/pkg/dcl/kcclite/conversion_test.go index c5bdf0a560..6f13690fbe 100644 --- a/pkg/dcl/kcclite/conversion_test.go +++ b/pkg/dcl/kcclite/conversion_test.go @@ -43,7 +43,7 @@ var ( emptyObject = make(map[string]interface{}) dclSchemaMap = map[string]*openapi.Schema{ "test1_beta_foo": testSchema(), - "test1_beta_bar": &openapi.Schema{ + "test1_beta_bar": { Type: "object", Extension: map[string]interface{}{ "x-dcl-id": "projects/{{project}}/bars/{{name}}", @@ -110,13 +110,13 @@ func testSchema() *openapi.Schema { return &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", }, - "name": &openapi.Schema{ + "name": { Type: "string", }, - "labels": &openapi.Schema{ + "labels": { Type: "object", AdditionalProperties: &openapi.Schema{ Type: "string", @@ -720,7 +720,9 @@ func TestToKCCLite(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() c := mgr.GetClient() - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } if tc.hasResourceReferences { references := []*unstructured.Unstructured{ newBarUnstructuredWithResourceID(t, "my-ref1", testId, corev1.ConditionTrue), @@ -730,10 +732,10 @@ func TestToKCCLite(t *testing.T) { } if tc.hasSecretReferences { secretsData := []map[string]interface{}{ - map[string]interface{}{ + { "secret-key1": "secret-val1", }, - map[string]interface{}{ + { "secret-key2": "secret-val2", }, } @@ -897,7 +899,10 @@ func TestToKCCLiteBestEffort(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() c := mgr.GetClient() - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } + if len(tc.references) != 0 { for _, ref := range tc.references { ref.SetNamespace(testId) @@ -954,7 +959,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -990,7 +995,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1021,7 +1026,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1052,7 +1057,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1089,7 +1094,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "folder": &openapi.Schema{ + "folder": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1124,7 +1129,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1170,7 +1175,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1211,7 +1216,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1252,7 +1257,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1298,7 +1303,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1344,7 +1349,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1385,7 +1390,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1426,7 +1431,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1472,7 +1477,7 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1513,10 +1518,10 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1547,10 +1552,10 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1587,10 +1592,10 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1617,10 +1622,10 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -1660,7 +1665,9 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() c := mgr.GetClient() - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } if tc.reference != nil { tc.reference.SetNamespace(testId) test.EnsureObjectExists(t, tc.reference, c) @@ -1681,12 +1688,12 @@ func TestToKCCLiteForHierarchicalReferences(t *testing.T) { // (e.g. "Cloudresourcemanager/Project"). // Note that the "x-dcl-id" values used below for testing are // the same ones from the real DCL schemas. - "cloudresourcemanager_ga_project": &openapi.Schema{ + "cloudresourcemanager_ga_project": { Extension: map[string]interface{}{ "x-dcl-id": "projects/{{name}}", }, }, - "cloudresourcemanager_ga_folder": &openapi.Schema{ + "cloudresourcemanager_ga_folder": { Extension: map[string]interface{}{ "x-dcl-id": "{{name}}", }, @@ -2302,7 +2309,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2345,7 +2352,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2388,7 +2395,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2441,7 +2448,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2494,7 +2501,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2547,7 +2554,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2596,7 +2603,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -2635,7 +2642,7 @@ func TestResolveSpecAndStatusWithMixedSpecAndLegacyStatus(t *testing.T) { Schema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ diff --git a/pkg/dcl/kcclite/templating_test.go b/pkg/dcl/kcclite/templating_test.go index 7c7df20493..77b83123fb 100644 --- a/pkg/dcl/kcclite/templating_test.go +++ b/pkg/dcl/kcclite/templating_test.go @@ -137,7 +137,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, }, @@ -156,7 +156,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "field": &openapi.Schema{ + "field": { Type: "string", }, }, @@ -180,7 +180,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -211,7 +211,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -247,7 +247,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -283,7 +283,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -319,7 +319,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -355,7 +355,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -392,7 +392,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -429,7 +429,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "project": &openapi.Schema{ + "project": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -461,7 +461,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -504,7 +504,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -547,7 +547,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -590,7 +590,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -633,7 +633,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -677,7 +677,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -721,7 +721,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -765,7 +765,7 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { refResourceSchema: &openapi.Schema{ Type: "object", Properties: map[string]*openapi.Schema{ - "parent": &openapi.Schema{ + "parent": { Type: "string", Extension: map[string]interface{}{ "x-dcl-references": []interface{}{ @@ -806,7 +806,9 @@ func TestCanonicalizeReferencedResourceName(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() c := mgr.GetClient() - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } tc.refResource.SetNamespace(testId) if tc.refResourceReference != nil { tc.refResourceReference.SetNamespace(testId) @@ -1403,7 +1405,9 @@ func TestCanonicalizeReferencedResourceNameForTFBasedResource(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() c := mgr.GetClient() - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } tc.refResource.SetNamespace(testId) if tc.refResourceReference != nil { tc.refResourceReference.SetNamespace(testId) diff --git a/pkg/krmtotf/references_test.go b/pkg/krmtotf/references_test.go index fa7a05e49a..3d4b3d8660 100644 --- a/pkg/krmtotf/references_test.go +++ b/pkg/krmtotf/references_test.go @@ -752,7 +752,10 @@ func TestResolveResourceReferenceToDCLResourceWithResourceID(t *testing.T) { Kind: "Foo", } ns := testId - testcontroller.EnsureNamespaceExists(c, ns) + if err := testcontroller.EnsureNamespaceExists(c, ns); err != nil { + t.Fatal(err) + } + resource := &Resource{} resource.SetGroupVersionKind(gvk) resource.SetNamespace(ns) @@ -1038,7 +1041,10 @@ func TestResolveResourceReferenceToTFResourceWithResourceID(t *testing.T) { Kind: "Foo", } ns := testId - testcontroller.EnsureNamespaceExists(c, ns) + if err := testcontroller.EnsureNamespaceExists(c, ns); err != nil { + t.Fatal(err) + } + resource := &Resource{} resource.SetGroupVersionKind(gvk) resource.SetNamespace(ns) diff --git a/pkg/logging/logging_test.go b/pkg/logging/logging_test.go index 2718287411..b8b7bd5a1d 100644 --- a/pkg/logging/logging_test.go +++ b/pkg/logging/logging_test.go @@ -38,11 +38,11 @@ func TestBuildLoggerFormat(t *testing.T) { logger.Info(inputInfo) logger.Error(&ExampleError{}, "test") wantList := [...]map[string]interface{}{ - map[string]interface{}{ + { "msg": inputInfo, "severity": "info", }, - map[string]interface{}{ + { "error": "ExampleError", "msg": "test", "severity": "error", @@ -56,7 +56,9 @@ func TestBuildLoggerFormat(t *testing.T) { t.Fatalf("ReadString('\n') failed: %s", err) } var got map[string]interface{} - json.Unmarshal([]byte(loggedLine), &got) + if err := json.Unmarshal([]byte(loggedLine), &got); err != nil { + t.Fatal(err) + } if _, ok := got["timestamp"]; !ok { t.Fatalf("the log message %v doesn't contain `timestamp`", got) } diff --git a/pkg/resourceoverrides/dns_record_set.go b/pkg/resourceoverrides/dns_record_set.go index 50144ddf97..9626a00d38 100644 --- a/pkg/resourceoverrides/dns_record_set.go +++ b/pkg/resourceoverrides/dns_record_set.go @@ -62,7 +62,10 @@ func preserveRrdatasFieldAndEnsureRrdatasRefsFieldIsMultiKind() ResourceOverride // override, so we will manually remove it. schema := k8s.GetOpenAPIV3SchemaFromCRD(crd) spec := schema.Properties["spec"] - crdutil.SetNotRuleForObjectOrArray(&spec, nil) + if err := crdutil.SetNotRuleForObjectOrArray(&spec, nil); err != nil { + return err + } + return crdutil.SetSchemaForFieldUnderObjectOrArray("spec", schema, &spec) } o.PreActuationTransform = func(r *k8s.Resource) error { @@ -93,11 +96,14 @@ func enforceMutuallyExclusiveRrdatasAndRoutingPolicy() ResourceOverride { Required: []string{field}, } } - crdutil.SetOneOfRuleForObjectOrArray(&spec, []*apiextensions.JSONSchemaProps{ + if err := crdutil.SetOneOfRuleForObjectOrArray(&spec, []*apiextensions.JSONSchemaProps{ requireField(rrdatasFieldName), requireField(rrdatasRefsFieldName), requireField(routingPolicyFieldName), - }) + }); err != nil { + return err + } + return crdutil.SetSchemaForFieldUnderObjectOrArray("spec", schema, &spec) } return o diff --git a/pkg/test/main/testmain.go b/pkg/test/main/testmain.go index dfeadf4ec9..4ac713a6e8 100644 --- a/pkg/test/main/testmain.go +++ b/pkg/test/main/testmain.go @@ -77,7 +77,9 @@ func TestMainSetupMultipleEnvironments(m *testing.M, testType test.TestType, crd mgr, stop := testcontroller.StartTestManagerInstance(env, testType, whCfgs) stops = append(stops, stop) - testcontroller.EnsureNamespaceExists(mgr.GetClient(), k8s.SystemNamespace) + if err := testcontroller.EnsureNamespaceExists(mgr.GetClient(), k8s.SystemNamespace); err != nil { + log.Fatalf("error ensuring namesapce exists: %v", err) + } *mp = mgr } diff --git a/pkg/tf/serialization/tf_resource_test.go b/pkg/tf/serialization/tf_resource_test.go index ab168b1571..f0f132c37b 100644 --- a/pkg/tf/serialization/tf_resource_test.go +++ b/pkg/tf/serialization/tf_resource_test.go @@ -41,7 +41,9 @@ func testSerialize(t *testing.T, instanceStateFile, tfType, goldenFile string) s t.Fatalf("failed to load instance state for instance, %s", err.Error()) } is := &terraform.InstanceState{} - yaml.Unmarshal(b, &is) + if err := yaml.Unmarshal(b, &is); err != nil { + t.Fatal(err) + } info := &terraform.InstanceInfo{ Id: "foo", Type: tfType, From 296500d2af0bb512a5f851902b2474261f408d76 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Thu, 15 Feb 2024 02:15:08 +0000 Subject: [PATCH 22/52] refactor: don't return recordEvent marshaling err previously the error was not handled; it seems it's not something meant to be surfaced. Added a small note to log the error. Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- pkg/controller/lifecyclehandler/handler.go | 46 +++++++--------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/pkg/controller/lifecyclehandler/handler.go b/pkg/controller/lifecyclehandler/handler.go index f3edd10fcf..c7fc970c00 100644 --- a/pkg/controller/lifecyclehandler/handler.go +++ b/pkg/controller/lifecyclehandler/handler.go @@ -223,6 +223,7 @@ func (r *LifecycleHandler) HandleUpToDate(ctx context.Context, resource *k8s.Res if err := r.updateAPIServer(ctx, resource); err != nil { return err } + r.recordEvent(resource, corev1.EventTypeNormal, k8s.UpToDate, k8s.UpToDateMessage) return nil } @@ -241,10 +242,8 @@ func (r *LifecycleHandler) HandleUnresolvableDeps(ctx context.Context, resource return err } } - if err := r.recordEvent(resource, corev1.EventTypeWarning, reason, msg); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeWarning, reason, msg) return nil } @@ -258,6 +257,7 @@ func (r *LifecycleHandler) HandleObtainLeaseFailed(ctx context.Context, resource return err } } + r.recordEvent(resource, corev1.EventTypeWarning, k8s.ManagementConflict, msg) return err } @@ -272,10 +272,8 @@ func (r *LifecycleHandler) HandlePreActuationTransformFailed(ctx context.Context return err } } - if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.PreActuationTransformFailed, msg); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeWarning, k8s.PreActuationTransformFailed, msg) return err } @@ -289,10 +287,8 @@ func (r *LifecycleHandler) HandlePostActuationTransformFailed(ctx context.Contex return err } } - if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.PostActuationTransformFailed, msg); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeWarning, k8s.PostActuationTransformFailed, msg) return err } @@ -302,10 +298,8 @@ func (r *LifecycleHandler) HandleUpdating(ctx context.Context, resource *k8s.Res if err := r.updateStatus(ctx, resource); err != nil { return err } - if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Updating, k8s.UpdatingMessage); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeNormal, k8s.Updating, k8s.UpdatingMessage) return nil } @@ -317,10 +311,7 @@ func (r *LifecycleHandler) HandleUpdateFailed(ctx context.Context, resource *k8s return err } - if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.UpdateFailed, msg); err != nil { - return err - } - + r.recordEvent(resource, corev1.EventTypeWarning, k8s.UpdateFailed, msg) return fmt.Errorf("Update call failed: %w", err) } @@ -331,10 +322,7 @@ func (r *LifecycleHandler) HandleDeleting(ctx context.Context, resource *k8s.Res return err } - if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleting, k8s.DeletingMessage); err != nil { - return err - } - + r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleting, k8s.DeletingMessage) return nil } @@ -347,9 +335,7 @@ func (r *LifecycleHandler) HandleDeleted(ctx context.Context, resource *k8s.Reso return fmt.Errorf("error updating status: %w", err) } - if err := r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleted, k8s.DeletedMessage); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeNormal, k8s.Deleted, k8s.DeletedMessage) k8s.RemoveFinalizer(resource, k8s.ControllerFinalizerName) return r.updateAPIServer(ctx, resource) @@ -363,9 +349,7 @@ func (r *LifecycleHandler) HandleDeleteFailed(ctx context.Context, resource *k8s return err } - if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.DeleteFailed, msg); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeWarning, k8s.DeleteFailed, msg) return fmt.Errorf("Delete call failed: %w", err) } @@ -377,9 +361,7 @@ func (r *LifecycleHandler) HandleUnmanaged(ctx context.Context, resource *k8s.Re return err } - if err := r.recordEvent(resource, corev1.EventTypeWarning, k8s.Unmanaged, msg); err != nil { - return err - } + r.recordEvent(resource, corev1.EventTypeWarning, k8s.Unmanaged, msg) return nil } @@ -406,13 +388,13 @@ func setObservedGeneration(resource *k8s.Resource, observedGeneration int64) { resource.Status["observedGeneration"] = observedGeneration } -func (r *LifecycleHandler) recordEvent(resource *k8s.Resource, eventtype, reason, message string) error { +func (r *LifecycleHandler) recordEvent(resource *k8s.Resource, eventtype, reason, message string) { u, err := resource.MarshalAsUnstructured() if err != nil { - return err + // todo acpana log err + return } r.Recorder.Event(u, eventtype, reason, message) - return nil } func IsOrphaned(resource *k8s.Resource, parentReferenceConfigs []corekccv1alpha1.TypeConfig, kubeClient client.Client) (orphaned bool, parent *k8s.Resource, err error) { From 87874f5128ef313f5d0db98988daa59d5bf785b3 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:28:02 +0000 Subject: [PATCH 23/52] only enable errcheck linter Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- .golangci.yaml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index 768a92ce86..8aed25461d 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -21,25 +21,25 @@ linters: disable-all: true enable: - errcheck - - errorlint - - exportloopref - - forcetypeassert - - gci - - gocritic - - goconst - - godot - - gofmt - - gofumpt - - goimports - - gosec - - gosimple - - govet - - importas - - ineffassign - - misspell - - revive # replacement for golint - - staticcheck - - typecheck - - unconvert - - unused - - whitespace \ No newline at end of file + # - errorlint + # - exportloopref + # - forcetypeassert + # - gci + # - gocritic + # - goconst + # - godot + # - gofmt + # - gofumpt + # - goimports + # - gosec + # - gosimple + # - govet + # - importas + # - ineffassign + # - misspell + # - revive # replacement for golint + # - staticcheck + # - typecheck + # - unconvert + # - unused + # - whitespace \ No newline at end of file From dd3532170a5ec30ca1bbc6e53feca95079c91d6e Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:29:01 +0000 Subject: [PATCH 24/52] chore:lint: fixup errcheck Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- config/tests/samples/create/samples.go | 4 +++- .../yamlresource/yaml_to_unstructured_resource_test.go | 4 +++- pkg/cluster/installation_identifier_test.go | 4 +++- pkg/controller/lifecyclehandler/handler_test.go | 4 +++- pkg/controller/mocktests/harness.go | 8 ++++++-- tests/e2e/unified_test.go | 4 +++- 6 files changed, 21 insertions(+), 7 deletions(-) diff --git a/config/tests/samples/create/samples.go b/config/tests/samples/create/samples.go index 751f46cb72..4829675acf 100644 --- a/config/tests/samples/create/samples.go +++ b/config/tests/samples/create/samples.go @@ -404,7 +404,9 @@ func replaceResourceNamesWithUniqueIDs(t *testing.T, unstructs []*unstructured.U if err != nil { t.Fatalf("error generating new spec.displayName value for Folder '%v': %v", u.GetName(), err) } - unstructured.SetNestedField(newUnstruct.Object, newDisplayName, "spec", "displayName") + if err := unstructured.SetNestedField(newUnstruct.Object, newDisplayName, "spec", "displayName"); err != nil { + t.Fatal(err) + } } newUnstructs = append(newUnstructs, newUnstruct) } diff --git a/pkg/cli/cmd/apply/yamlresource/yaml_to_unstructured_resource_test.go b/pkg/cli/cmd/apply/yamlresource/yaml_to_unstructured_resource_test.go index 354cc952af..c99bee4c23 100644 --- a/pkg/cli/cmd/apply/yamlresource/yaml_to_unstructured_resource_test.go +++ b/pkg/cli/cmd/apply/yamlresource/yaml_to_unstructured_resource_test.go @@ -65,7 +65,9 @@ func TestRenderJSONSuccess(t *testing.T) { t.Fatalf("Error loading test_file %v, %v", testPath, err) } buf := bytes.Buffer{} - RenderJSON(unstructured, &buf) + if err := RenderJSON(unstructured, &buf); err != nil { + t.Fatal(err) + } renderOutput, err := ioutil.ReadFile(fmt.Sprintf("%v/%v", PathPrefix, JSONOutputFile)) if err != nil { t.Fatalf("Error loading test_file %v, %v", JSONOutputFile, err) diff --git a/pkg/cluster/installation_identifier_test.go b/pkg/cluster/installation_identifier_test.go index e0c85b4913..83d668c9be 100644 --- a/pkg/cluster/installation_identifier_test.go +++ b/pkg/cluster/installation_identifier_test.go @@ -43,7 +43,9 @@ var ( ) func TestGetNamespaceId(t *testing.T) { - testcontroller.EnsureNamespaceExists(mgr.GetClient(), namespaceIDConfigMapNN.Namespace) + if err := testcontroller.EnsureNamespaceExists(mgr.GetClient(), namespaceIDConfigMapNN.Namespace); err != nil { + t.Fatal(err) + } testGetNamespaceID(t, mgr) testSetNamespaceID(t, mgr) testDeleteNamespaceID(t, mgr) diff --git a/pkg/controller/lifecyclehandler/handler_test.go b/pkg/controller/lifecyclehandler/handler_test.go index afec6c29e0..a287e53ba8 100644 --- a/pkg/controller/lifecyclehandler/handler_test.go +++ b/pkg/controller/lifecyclehandler/handler_test.go @@ -157,7 +157,9 @@ func TestIsOrphaned(t *testing.T) { t.Parallel() testId := testvariable.NewUniqueId() tc.resource.SetNamespace(testId) - testcontroller.EnsureNamespaceExists(c, testId) + if err := testcontroller.EnsureNamespaceExists(c, testId); err != nil { + t.Fatal(err) + } if tc.parentObjectName != "" { references := []*unstructured.Unstructured{ test.NewBarUnstructured(tc.parentObjectName, testId, corev1.ConditionTrue), diff --git a/pkg/controller/mocktests/harness.go b/pkg/controller/mocktests/harness.go index 52adee33c6..9e534fb7f0 100644 --- a/pkg/controller/mocktests/harness.go +++ b/pkg/controller/mocktests/harness.go @@ -68,9 +68,13 @@ func NewHarness(t *testing.T) *Harness { Scheme: runtime.NewScheme(), Ctx: context.Background(), } - corev1.AddToScheme(h.Scheme) + if err := corev1.AddToScheme(h.Scheme); err != nil { + t.Fatal(err) + } - iamv1beta1.SchemeBuilder.AddToScheme(h.Scheme) + if err := iamv1beta1.SchemeBuilder.AddToScheme(h.Scheme); err != nil { + t.Fatal(err) + } t.Cleanup(h.Stop) return h diff --git a/tests/e2e/unified_test.go b/tests/e2e/unified_test.go index 2710d909ef..ac4ed0eb80 100644 --- a/tests/e2e/unified_test.go +++ b/tests/e2e/unified_test.go @@ -247,7 +247,9 @@ func TestAllInSeries(t *testing.T) { jsonMutators = append(jsonMutators, func(obj map[string]any) { _, found, _ := unstructured.NestedString(obj, tokens...) if found { - unstructured.SetNestedField(obj, newValue, tokens...) + if err := unstructured.SetNestedField(obj, newValue, tokens...); err != nil { + t.Fatal(err) + } } }) } From 4d46d3b57c5d9f3dec7e43a1ced0ed7bf64b20c1 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:34:26 +0000 Subject: [PATCH 25/52] run make fmt Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- pkg/controller/resourcewatcher/resourcewatcher_test.go | 5 ++--- pkg/resourceoverrides/dns_record_set.go | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pkg/controller/resourcewatcher/resourcewatcher_test.go b/pkg/controller/resourcewatcher/resourcewatcher_test.go index c2684a1d88..3939389f44 100644 --- a/pkg/controller/resourcewatcher/resourcewatcher_test.go +++ b/pkg/controller/resourcewatcher/resourcewatcher_test.go @@ -67,9 +67,8 @@ func TestWatchResourceSuccess(t *testing.T) { } if _, err := fake.Resource(k8s.ToGVR(gvk)). Namespace(nn.Namespace). - Create(context.TODO(), readyResourceUnstructured, metav1.CreateOptions{}); - err != nil { - t.Fatal(err) + Create(context.TODO(), readyResourceUnstructured, metav1.CreateOptions{}); err != nil { + t.Fatal(err) } ctx, cancel := context.WithTimeout(context.TODO(), time.Minute) defer cancel() diff --git a/pkg/resourceoverrides/dns_record_set.go b/pkg/resourceoverrides/dns_record_set.go index 9626a00d38..16e6f524c3 100644 --- a/pkg/resourceoverrides/dns_record_set.go +++ b/pkg/resourceoverrides/dns_record_set.go @@ -103,7 +103,7 @@ func enforceMutuallyExclusiveRrdatasAndRoutingPolicy() ResourceOverride { }); err != nil { return err } - + return crdutil.SetSchemaForFieldUnderObjectOrArray("spec", schema, &spec) } return o From 82efac38017716c328642937873ff90419d61b94 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 16 Feb 2024 00:43:53 +0000 Subject: [PATCH 26/52] skip scripts folder for now Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- .golangci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.golangci.yaml b/.golangci.yaml index 8aed25461d..a889d9d35d 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -17,6 +17,7 @@ run: skip-dirs: - third_party - pkg/clients/generated + - scripts # todo acpana unskip linters: disable-all: true enable: From d4423877ee6197d7c696d8997eea02300a93feff Mon Sep 17 00:00:00 2001 From: justinsb Date: Thu, 15 Feb 2024 20:24:45 -0500 Subject: [PATCH 27/52] tests: introduce test for VertexAITensorboard --- .../v1alpha1/vertexaitensorboard/_http.log | 592 ++++++++++++++++++ .../v1alpha1/vertexaitensorboard/create.yaml | 22 + .../v1alpha1/vertexaitensorboard/update.yaml | 22 + 3 files changed, 636 insertions(+) create mode 100644 pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/_http.log create mode 100644 pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/create.yaml create mode 100644 pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/update.yaml diff --git a/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/_http.log b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/_http.log new file mode 100644 index 0000000000..1fd5be9574 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/_http.log @@ -0,0 +1,592 @@ +POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectid}/locations/us-central1/tensorboards?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "description": "Dashboard version 1", + "displayName": "config-connector v1", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:20:54.949017Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:20:54.949017Z", + "updateTime": "2024-02-16T01:22:28.264978Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296/operations/8501230323198066688", + "response": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.Tensorboard", + "description": "Dashboard version 1", + "displayName": "config-connector v1", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296" + } +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 1", + "displayName": "config-connector v1", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 1", + "displayName": "config-connector v1", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 1", + "displayName": "config-connector v1", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json&updateMask=displayName%2Cdescription +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +{ + "description": "Dashboard version 2", + "displayName": "config-connector v2", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + } +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.UpdateTensorboardOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:22:37.231304Z", + "updateTime": "2024-02-16T01:22:37.231304Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/operations/3327720251256209408", + "response": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.Tensorboard", + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 2", + "displayName": "config-connector v2", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" + } +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 2", + "displayName": "config-connector v2", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "blobStoragePathPrefix": "cloud-ai-platform-489ea394-ae01-4b47-9591-f3dc71b73ef3", + "createTime": "2024-04-01T12:34:56.123456Z", + "description": "Dashboard version 2", + "displayName": "config-connector v2", + "etag": "abcdef0123A=", + "labels": { + "cnrm-test": "true", + "managed-by-cnrm": "true" + }, + "name": "projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +DELETE https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${projectNumber}/locations/us-central1/tensorboards/4467751150258487296?alt=json +Content-Type: application/json +User-Agent: Terraform/ (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "done": true, + "metadata": { + "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeleteOperationMetadata", + "genericMetadata": { + "createTime": "2024-02-16T01:22:38.290411Z", + "updateTime": "2024-02-16T01:22:38.290411Z" + } + }, + "name": "projects/${projectNumber}/locations/us-central1/operations/5568261065873031168", + "response": { + "@type": "type.googleapis.com/google.protobuf.Empty" + } +} diff --git a/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/create.yaml b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/create.yaml new file mode 100644 index 0000000000..736b98185f --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/create.yaml @@ -0,0 +1,22 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: vertexai.cnrm.cloud.google.com/v1alpha1 +kind: VertexAITensorboard +metadata: + name: vertexaitensorboard${uniqueId} +spec: + displayName: "config-connector v1" + description: "Dashboard version 1" + region: us-central1 diff --git a/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/update.yaml b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/update.yaml new file mode 100644 index 0000000000..049d540281 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/vertexai/v1alpha1/vertexaitensorboard/update.yaml @@ -0,0 +1,22 @@ +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +apiVersion: vertexai.cnrm.cloud.google.com/v1alpha1 +kind: VertexAITensorboard +metadata: + name: vertexaitensorboard${uniqueId} +spec: + displayName: "config-connector v2" + description: "Dashboard version 2" + region: us-central1 From 64239bcf6c43128dfc231dfbc2b16f4fd1d079ee Mon Sep 17 00:00:00 2001 From: justinsb Date: Thu, 15 Feb 2024 20:36:06 -0500 Subject: [PATCH 28/52] autogen: Generate proto files for vertexai We're using v1beta1 for now. --- mockgcp/Makefile | 1 + .../aiplatform/v1beta1/accelerator_type.pb.go | 227 + .../cloud/aiplatform/v1beta1/annotation.pb.go | 335 + .../aiplatform/v1beta1/annotation_spec.pb.go | 247 + .../cloud/aiplatform/v1beta1/artifact.pb.go | 421 ++ .../v1beta1/batch_prediction_job.pb.go | 1458 ++++ .../aiplatform/v1beta1/completion_stats.pb.go | 225 + .../cloud/aiplatform/v1beta1/content.pb.go | 2007 ++++++ .../cloud/aiplatform/v1beta1/context.pb.go | 345 + .../cloud/aiplatform/v1beta1/custom_job.pb.go | 1258 ++++ .../cloud/aiplatform/v1beta1/data_item.pb.go | 284 + .../v1beta1/data_labeling_job.pb.go | 930 +++ .../cloud/aiplatform/v1beta1/dataset.pb.go | 837 +++ .../aiplatform/v1beta1/dataset_service.pb.go | 3581 ++++++++++ .../v1beta1/dataset_service.pb.gw.go | 2214 ++++++ .../v1beta1/dataset_service_grpc.pb.go | 754 +++ .../aiplatform/v1beta1/dataset_version.pb.go | 246 + .../v1beta1/deployed_index_ref.pb.go | 209 + .../v1beta1/deployed_model_ref.pb.go | 196 + .../v1beta1/deployment_resource_pool.pb.go | 236 + .../deployment_resource_pool_service.pb.go | 1058 +++ .../deployment_resource_pool_service.pb.gw.go | 653 ++ ...eployment_resource_pool_service_grpc.pb.go | 261 + .../aiplatform/v1beta1/encryption_spec.pb.go | 185 + .../cloud/aiplatform/v1beta1/endpoint.pb.go | 1021 +++ .../aiplatform/v1beta1/endpoint_service.pb.go | 1683 +++++ .../v1beta1/endpoint_service.pb.gw.go | 1058 +++ .../v1beta1/endpoint_service_grpc.pb.go | 382 ++ .../aiplatform/v1beta1/entity_type.pb.go | 332 + .../cloud/aiplatform/v1beta1/env_var.pb.go | 194 + .../v1beta1/evaluated_annotation.pb.go | 750 +++ .../cloud/aiplatform/v1beta1/event.pb.go | 318 + .../cloud/aiplatform/v1beta1/execution.pb.go | 427 ++ .../aiplatform/v1beta1/explanation.pb.go | 2705 ++++++++ .../v1beta1/explanation_metadata.pb.go | 1393 ++++ .../cloud/aiplatform/v1beta1/feature.pb.go | 682 ++ .../aiplatform/v1beta1/feature_group.pb.go | 407 ++ .../v1beta1/feature_monitoring_stats.pb.go | 292 + .../v1beta1/feature_online_store.pb.go | 857 +++ .../feature_online_store_admin_service.pb.go | 2320 +++++++ ...eature_online_store_admin_service.pb.gw.go | 1677 +++++ ...ture_online_store_admin_service_grpc.pb.go | 567 ++ .../feature_online_store_service.pb.go | 1616 +++++ .../feature_online_store_service.pb.gw.go | 324 + .../feature_online_store_service_grpc.pb.go | 150 + .../v1beta1/feature_registry_service.pb.go | 1212 ++++ .../v1beta1/feature_registry_service.pb.gw.go | 1334 ++++ .../feature_registry_service_grpc.pb.go | 451 ++ .../aiplatform/v1beta1/feature_selector.pb.go | 253 + .../aiplatform/v1beta1/feature_view.pb.go | 1074 +++ .../v1beta1/feature_view_sync.pb.go | 250 + .../aiplatform/v1beta1/featurestore.pb.go | 601 ++ .../v1beta1/featurestore_monitoring.pb.go | 728 ++ .../v1beta1/featurestore_online_service.pb.go | 1519 +++++ .../featurestore_online_service.pb.gw.go | 399 ++ .../featurestore_online_service_grpc.pb.go | 228 + .../v1beta1/featurestore_service.pb.go | 5912 +++++++++++++++++ .../v1beta1/featurestore_service.pb.gw.go | 2683 ++++++++ .../v1beta1/featurestore_service_grpc.pb.go | 938 +++ .../v1beta1/hyperparameter_tuning_job.pb.go | 456 ++ .../cloud/aiplatform/v1beta1/index.pb.go | 1075 +++ .../aiplatform/v1beta1/index_endpoint.pb.go | 996 +++ .../v1beta1/index_endpoint_service.pb.go | 1612 +++++ .../v1beta1/index_endpoint_service.pb.gw.go | 1040 +++ .../v1beta1/index_endpoint_service_grpc.pb.go | 380 ++ .../aiplatform/v1beta1/index_service.pb.go | 1693 +++++ .../aiplatform/v1beta1/index_service.pb.gw.go | 921 +++ .../v1beta1/index_service_grpc.pb.go | 342 + .../mockgcp/cloud/aiplatform/v1beta1/io.pb.go | 747 +++ .../aiplatform/v1beta1/job_service.pb.go | 4847 ++++++++++++++ .../aiplatform/v1beta1/job_service.pb.gw.go | 4089 ++++++++++++ .../aiplatform/v1beta1/job_service_grpc.pb.go | 1515 +++++ .../cloud/aiplatform/v1beta1/job_state.pb.go | 220 + .../aiplatform/v1beta1/lineage_subgraph.pb.go | 225 + .../v1beta1/llm_utility_service.pb.go | 384 ++ .../v1beta1/llm_utility_service.pb.gw.go | 324 + .../v1beta1/llm_utility_service_grpc.pb.go | 107 + .../v1beta1/machine_resources.pb.go | 992 +++ .../manual_batch_tuning_parameters.pb.go | 188 + .../aiplatform/v1beta1/match_service.pb.go | 821 +++ .../aiplatform/v1beta1/match_service.pb.gw.go | 324 + .../v1beta1/match_service_grpc.pb.go | 147 + .../aiplatform/v1beta1/metadata_schema.pb.go | 335 + .../aiplatform/v1beta1/metadata_service.pb.go | 5135 ++++++++++++++ .../v1beta1/metadata_service.pb.gw.go | 3988 +++++++++++ .../v1beta1/metadata_service_grpc.pb.go | 1318 ++++ .../aiplatform/v1beta1/metadata_store.pb.go | 338 + .../v1beta1/migratable_resource.pb.go | 789 +++ .../v1beta1/migration_service.pb.go | 1574 +++++ .../v1beta1/migration_service.pb.gw.go | 324 + .../v1beta1/migration_service_grpc.pb.go | 152 + .../cloud/aiplatform/v1beta1/model.pb.go | 2152 ++++++ .../model_deployment_monitoring_job.pb.go | 1514 +++++ .../aiplatform/v1beta1/model_evaluation.pb.go | 541 ++ .../v1beta1/model_evaluation_slice.pb.go | 860 +++ .../v1beta1/model_garden_service.pb.go | 561 ++ .../v1beta1/model_garden_service.pb.gw.go | 328 + .../v1beta1/model_garden_service_grpc.pb.go | 145 + .../aiplatform/v1beta1/model_monitoring.pb.go | 1595 +++++ .../aiplatform/v1beta1/model_service.pb.go | 3580 ++++++++++ .../aiplatform/v1beta1/model_service.pb.gw.go | 2188 ++++++ .../v1beta1/model_service_grpc.pb.go | 796 +++ .../cloud/aiplatform/v1beta1/nas_job.pb.go | 1582 +++++ .../cloud/aiplatform/v1beta1/openapi.pb.go | 382 ++ .../cloud/aiplatform/v1beta1/operation.pb.go | 295 + .../v1beta1/persistent_resource.pb.go | 1128 ++++ .../v1beta1/persistent_resource_service.pb.go | 911 +++ .../persistent_resource_service.pb.gw.go | 701 ++ .../persistent_resource_service_grpc.pb.go | 261 + .../v1beta1/pipeline_failure_policy.pb.go | 180 + .../aiplatform/v1beta1/pipeline_job.pb.go | 1859 ++++++ .../aiplatform/v1beta1/pipeline_service.pb.go | 1861 ++++++ .../v1beta1/pipeline_service.pb.gw.go | 1472 ++++ .../v1beta1/pipeline_service_grpc.pb.go | 595 ++ .../aiplatform/v1beta1/pipeline_state.pb.go | 208 + .../v1beta1/prediction_service.pb.go | 2901 ++++++++ .../v1beta1/prediction_service.pb.gw.go | 1695 +++++ .../v1beta1/prediction_service_grpc.pb.go | 799 +++ .../aiplatform/v1beta1/publisher_model.pb.go | 1829 +++++ .../aiplatform/v1beta1/saved_query.pb.go | 326 + .../cloud/aiplatform/v1beta1/schedule.pb.go | 663 ++ .../aiplatform/v1beta1/schedule_service.pb.go | 969 +++ .../v1beta1/schedule_service.pb.gw.go | 921 +++ .../v1beta1/schedule_service_grpc.pb.go | 369 + .../v1beta1/service_networking.pb.go | 286 + .../aiplatform/v1beta1/specialist_pool.pb.go | 260 + .../v1beta1/specialist_pool_service.pb.go | 921 +++ .../v1beta1/specialist_pool_service.pb.gw.go | 701 ++ .../specialist_pool_service_grpc.pb.go | 260 + .../cloud/aiplatform/v1beta1/study.pb.go | 3653 ++++++++++ .../aiplatform/v1beta1/tensorboard.pb.go | 351 + .../aiplatform/v1beta1/tensorboard_data.pb.go | 678 ++ .../v1beta1/tensorboard_experiment.pb.go | 309 + .../aiplatform/v1beta1/tensorboard_run.pb.go | 299 + .../v1beta1/tensorboard_service.pb.go | 4928 ++++++++++++++ .../v1beta1/tensorboard_service.pb.gw.go | 3649 ++++++++++ .../v1beta1/tensorboard_service_grpc.pb.go | 1266 ++++ .../v1beta1/tensorboard_time_series.pb.go | 483 ++ .../cloud/aiplatform/v1beta1/tool.pb.go | 760 +++ .../v1beta1/training_pipeline.pb.go | 1446 ++++ .../cloud/aiplatform/v1beta1/types.pb.go | 700 ++ .../v1beta1/unmanaged_container_model.pb.go | 223 + .../v1beta1/user_action_reference.pb.go | 239 + .../cloud/aiplatform/v1beta1/value.pb.go | 235 + .../aiplatform/v1beta1/vizier_service.pb.go | 2256 +++++++ .../v1beta1/vizier_service.pb.gw.go | 1811 +++++ .../v1beta1/vizier_service_grpc.pb.go | 669 ++ 147 files changed, 154853 insertions(+) create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/accelerator_type.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation_spec.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/artifact.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/completion_stats.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/content.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/context.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/custom_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_item.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_labeling_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_version.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_index_ref.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_model_ref.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/encryption_spec.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/entity_type.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/env_var.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/evaluated_annotation.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/event.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/execution.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation_metadata.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_group.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_monitoring_stats.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_selector.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view_sync.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_monitoring.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/io.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_state.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/lineage_subgraph.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/machine_resources.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_schema.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_store.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migratable_resource.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation_slice.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_monitoring.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/nas_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/openapi.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/operation.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_failure_policy.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_job.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_state.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/publisher_model.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/saved_query.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/service_networking.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/study.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_data.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_experiment.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_run.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_time_series.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tool.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/training_pipeline.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/types.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/unmanaged_container_model.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/user_action_reference.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/value.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/vizier_service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/vizier_service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/vizier_service_grpc.pb.go diff --git a/mockgcp/Makefile b/mockgcp/Makefile index b2b40319fe..e28ab09f78 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -30,6 +30,7 @@ gen-proto: ./third_party/googleapis/mockgcp/api/apikeys/v2/*.proto \ ./third_party/googleapis/mockgcp/storage/v1/*.proto \ ./third_party/googleapis/mockgcp/iam/admin/v1/*.proto \ + ./third_party/googleapis/mockgcp/cloud/aiplatform/v1beta1/*.proto \ ./third_party/googleapis/mockgcp/cloud/billing/v1/*.proto \ ./third_party/googleapis/mockgcp/cloud/certificatemanager/v1/*.proto \ ./third_party/googleapis/mockgcp/cloud/compute/v1/*.proto \ diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/accelerator_type.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/accelerator_type.pb.go new file mode 100644 index 0000000000..42c772ae54 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/accelerator_type.pb.go @@ -0,0 +1,227 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/accelerator_type.proto + +package aiplatformpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a hardware accelerator type. +type AcceleratorType int32 + +const ( + // Unspecified accelerator type, which means no accelerator. + AcceleratorType_ACCELERATOR_TYPE_UNSPECIFIED AcceleratorType = 0 + // Nvidia Tesla K80 GPU. + AcceleratorType_NVIDIA_TESLA_K80 AcceleratorType = 1 + // Nvidia Tesla P100 GPU. + AcceleratorType_NVIDIA_TESLA_P100 AcceleratorType = 2 + // Nvidia Tesla V100 GPU. + AcceleratorType_NVIDIA_TESLA_V100 AcceleratorType = 3 + // Nvidia Tesla P4 GPU. + AcceleratorType_NVIDIA_TESLA_P4 AcceleratorType = 4 + // Nvidia Tesla T4 GPU. + AcceleratorType_NVIDIA_TESLA_T4 AcceleratorType = 5 + // Nvidia Tesla A100 GPU. + AcceleratorType_NVIDIA_TESLA_A100 AcceleratorType = 8 + // Nvidia A100 80GB GPU. + AcceleratorType_NVIDIA_A100_80GB AcceleratorType = 9 + // Nvidia L4 GPU. + AcceleratorType_NVIDIA_L4 AcceleratorType = 11 + // Nvidia H100 80Gb GPU. + AcceleratorType_NVIDIA_H100_80GB AcceleratorType = 13 + // TPU v2. + AcceleratorType_TPU_V2 AcceleratorType = 6 + // TPU v3. + AcceleratorType_TPU_V3 AcceleratorType = 7 + // TPU v4. + AcceleratorType_TPU_V4_POD AcceleratorType = 10 + // TPU v5. + AcceleratorType_TPU_V5_LITEPOD AcceleratorType = 12 +) + +// Enum value maps for AcceleratorType. +var ( + AcceleratorType_name = map[int32]string{ + 0: "ACCELERATOR_TYPE_UNSPECIFIED", + 1: "NVIDIA_TESLA_K80", + 2: "NVIDIA_TESLA_P100", + 3: "NVIDIA_TESLA_V100", + 4: "NVIDIA_TESLA_P4", + 5: "NVIDIA_TESLA_T4", + 8: "NVIDIA_TESLA_A100", + 9: "NVIDIA_A100_80GB", + 11: "NVIDIA_L4", + 13: "NVIDIA_H100_80GB", + 6: "TPU_V2", + 7: "TPU_V3", + 10: "TPU_V4_POD", + 12: "TPU_V5_LITEPOD", + } + AcceleratorType_value = map[string]int32{ + "ACCELERATOR_TYPE_UNSPECIFIED": 0, + "NVIDIA_TESLA_K80": 1, + "NVIDIA_TESLA_P100": 2, + "NVIDIA_TESLA_V100": 3, + "NVIDIA_TESLA_P4": 4, + "NVIDIA_TESLA_T4": 5, + "NVIDIA_TESLA_A100": 8, + "NVIDIA_A100_80GB": 9, + "NVIDIA_L4": 11, + "NVIDIA_H100_80GB": 13, + "TPU_V2": 6, + "TPU_V3": 7, + "TPU_V4_POD": 10, + "TPU_V5_LITEPOD": 12, + } +) + +func (x AcceleratorType) Enum() *AcceleratorType { + p := new(AcceleratorType) + *p = x + return p +} + +func (x AcceleratorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AcceleratorType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_enumTypes[0].Descriptor() +} + +func (AcceleratorType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_enumTypes[0] +} + +func (x AcceleratorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AcceleratorType.Descriptor instead. +func (AcceleratorType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescGZIP(), []int{0} +} + +var File_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2a, 0xaf, 0x02, 0x0a, 0x0f, + 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x20, 0x0a, 0x1c, 0x41, 0x43, 0x43, 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x45, 0x53, 0x4c, + 0x41, 0x5f, 0x4b, 0x38, 0x30, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x56, 0x49, 0x44, 0x49, + 0x41, 0x5f, 0x54, 0x45, 0x53, 0x4c, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x10, 0x02, 0x12, 0x15, + 0x0a, 0x11, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x45, 0x53, 0x4c, 0x41, 0x5f, 0x56, + 0x31, 0x30, 0x30, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, + 0x54, 0x45, 0x53, 0x4c, 0x41, 0x5f, 0x50, 0x34, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x56, + 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x45, 0x53, 0x4c, 0x41, 0x5f, 0x54, 0x34, 0x10, 0x05, 0x12, + 0x15, 0x0a, 0x11, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x45, 0x53, 0x4c, 0x41, 0x5f, + 0x41, 0x31, 0x30, 0x30, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, + 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, + 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x4e, + 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x48, 0x31, 0x30, 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x10, + 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x50, 0x55, 0x5f, 0x56, 0x32, 0x10, 0x06, 0x12, 0x0a, 0x0a, + 0x06, 0x54, 0x50, 0x55, 0x5f, 0x56, 0x33, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x50, 0x55, + 0x5f, 0x56, 0x34, 0x5f, 0x50, 0x4f, 0x44, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x55, + 0x5f, 0x56, 0x35, 0x5f, 0x4c, 0x49, 0x54, 0x45, 0x50, 0x4f, 0x44, 0x10, 0x0c, 0x42, 0xec, 0x01, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_goTypes = []interface{}{ + (AcceleratorType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.AcceleratorType +} +var file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_enumTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation.pb.go new file mode 100644 index 0000000000..f6932b0c37 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation.pb.go @@ -0,0 +1,335 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/annotation.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Used to assign specific AnnotationSpec to a particular area of a DataItem or +// the whole part of the DataItem. +type Annotation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the Annotation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Google Cloud Storage URI points to a YAML file describing + // [payload][mockgcp.cloud.aiplatform.v1beta1.Annotation.payload]. The schema + // is defined as an [OpenAPI 3.0.2 Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // The schema files that can be used here are found in + // gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the + // chosen schema must be consistent with the parent Dataset's + // [metadata][mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri]. + PayloadSchemaUri string `protobuf:"bytes,2,opt,name=payload_schema_uri,json=payloadSchemaUri,proto3" json:"payload_schema_uri,omitempty"` + // Required. The schema of the payload can be found in + // [payload_schema][mockgcp.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri]. + Payload *_struct.Value `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + // Output only. Timestamp when this Annotation was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Annotation was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. The source of the Annotation. + AnnotationSource *UserActionReference `protobuf:"bytes,5,opt,name=annotation_source,json=annotationSource,proto3" json:"annotation_source,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // Annotations. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Annotation(System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Annotation: + // + // - "aiplatform.googleapis.com/annotation_set_name": + // optional, name of the UI's annotation set this Annotation belongs to. + // If not set, the Annotation is not visible in the UI. + // + // - "aiplatform.googleapis.com/payload_schema": + // output only, its value is the + // [payload_schema's][mockgcp.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri] + // title. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Annotation) Reset() { + *x = Annotation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Annotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Annotation) ProtoMessage() {} + +func (x *Annotation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_msgTypes[0] + 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 Annotation.ProtoReflect.Descriptor instead. +func (*Annotation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescGZIP(), []int{0} +} + +func (x *Annotation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Annotation) GetPayloadSchemaUri() string { + if x != nil { + return x.PayloadSchemaUri + } + return "" +} + +func (x *Annotation) GetPayload() *_struct.Value { + if x != nil { + return x.Payload + } + return nil +} + +func (x *Annotation) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Annotation) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Annotation) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Annotation) GetAnnotationSource() *UserActionReference { + if x != nil { + return x.AnnotationSource + } + return nil +} + +func (x *Annotation) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_annotation_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x3c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xbf, + 0x05, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x67, 0x0a, + 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x95, 0x01, 0xea, 0x41, 0x91, 0x01, 0x0a, + 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x7d, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x42, 0xe7, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_goTypes = []interface{}{ + (*Annotation)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Annotation + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.Annotation.LabelsEntry + (*_struct.Value)(nil), // 2: google.protobuf.Value + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*UserActionReference)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.UserActionReference +} +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.Annotation.payload:type_name -> google.protobuf.Value + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.Annotation.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.Annotation.update_time:type_name -> google.protobuf.Timestamp + 4, // 3: mockgcp.cloud.aiplatform.v1beta1.Annotation.annotation_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.UserActionReference + 1, // 4: mockgcp.cloud.aiplatform.v1beta1.Annotation.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Annotation.LabelsEntry + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_annotation_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_user_action_reference_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Annotation); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_annotation_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation_spec.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation_spec.pb.go new file mode 100644 index 0000000000..30d2fd14c1 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/annotation_spec.pb.go @@ -0,0 +1,247 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/annotation_spec.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Identifies a concept with which DataItems may be annotated with. +type AnnotationSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the AnnotationSpec. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the AnnotationSpec. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Timestamp when this AnnotationSpec was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when AnnotationSpec was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *AnnotationSpec) Reset() { + *x = AnnotationSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnotationSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnotationSpec) ProtoMessage() {} + +func (x *AnnotationSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_msgTypes[0] + 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 AnnotationSpec.ProtoReflect.Descriptor instead. +func (*AnnotationSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescGZIP(), []int{0} +} + +func (x *AnnotationSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AnnotationSpec) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *AnnotationSpec) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *AnnotationSpec) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *AnnotationSpec) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x22, 0xfd, 0x02, 0x0a, 0x0e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, + 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x7d, 0x42, 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_goTypes = []interface{}{ + (*AnnotationSpec)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec + (*timestamp.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec.create_time:type_name -> google.protobuf.Timestamp + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec.update_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnnotationSpec); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/artifact.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/artifact.pb.go new file mode 100644 index 0000000000..7a1f9aa73f --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/artifact.pb.go @@ -0,0 +1,421 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/artifact.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the state of the Artifact. +type Artifact_State int32 + +const ( + // Unspecified state for the Artifact. + Artifact_STATE_UNSPECIFIED Artifact_State = 0 + // A state used by systems like Vertex AI Pipelines to indicate that the + // underlying data item represented by this Artifact is being created. + Artifact_PENDING Artifact_State = 1 + // A state indicating that the Artifact should exist, unless something + // external to the system deletes it. + Artifact_LIVE Artifact_State = 2 +) + +// Enum value maps for Artifact_State. +var ( + Artifact_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "PENDING", + 2: "LIVE", + } + Artifact_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "PENDING": 1, + "LIVE": 2, + } +) + +func (x Artifact_State) Enum() *Artifact_State { + p := new(Artifact_State) + *p = x + return p +} + +func (x Artifact_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Artifact_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_enumTypes[0].Descriptor() +} + +func (Artifact_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_enumTypes[0] +} + +func (x Artifact_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Artifact_State.Descriptor instead. +func (Artifact_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescGZIP(), []int{0, 0} +} + +// Instance of a general artifact. +type Artifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Artifact. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // User provided display name of the Artifact. + // May be up to 128 Unicode characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The uniform resource identifier of the artifact file. + // May be empty if there is no actual artifact file. + Uri string `protobuf:"bytes,6,opt,name=uri,proto3" json:"uri,omitempty"` + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Artifacts. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Artifact (System + // labels are excluded). + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this Artifact was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Artifact was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The state of this Artifact. This is a property of the Artifact, and does + // not imply or capture any ongoing process. This property is managed by + // clients (such as Vertex AI Pipelines), and the system does not prescribe + // or check the validity of state transitions. + State Artifact_State `protobuf:"varint,13,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Artifact_State" json:"state,omitempty"` + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaTitle string `protobuf:"bytes,14,opt,name=schema_title,json=schemaTitle,proto3" json:"schema_title,omitempty"` + // The version of the schema in schema_name to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaVersion string `protobuf:"bytes,15,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` + // Properties of the Artifact. + // Top level metadata keys' heading and trailing spaces will be trimmed. + // The size of this field should not exceed 200KB. + Metadata *_struct.Struct `protobuf:"bytes,16,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Description of the Artifact + Description string `protobuf:"bytes,17,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *Artifact) Reset() { + *x = Artifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Artifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Artifact) ProtoMessage() {} + +func (x *Artifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_msgTypes[0] + 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 Artifact.ProtoReflect.Descriptor instead. +func (*Artifact) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescGZIP(), []int{0} +} + +func (x *Artifact) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Artifact) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Artifact) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Artifact) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Artifact) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Artifact) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Artifact) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Artifact) GetState() Artifact_State { + if x != nil { + return x.State + } + return Artifact_STATE_UNSPECIFIED +} + +func (x *Artifact) GetSchemaTitle() string { + if x != nil { + return x.SchemaTitle + } + return "" +} + +func (x *Artifact) GetSchemaVersion() string { + if x != nil { + return x.SchemaVersion + } + return "" +} + +func (x *Artifact) GetMetadata() *_struct.Struct { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Artifact) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_artifact_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xa4, + 0x06, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4e, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x02, 0x3a, 0x86, 0x01, 0xea, + 0x41, 0x82, 0x01, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, + 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x7d, 0x42, 0xe5, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_goTypes = []interface{}{ + (Artifact_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Artifact.State + (*Artifact)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Artifact + nil, // 2: mockgcp.cloud.aiplatform.v1beta1.Artifact.LabelsEntry + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 4: google.protobuf.Struct +} +var file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.Artifact.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact.LabelsEntry + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.Artifact.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.Artifact.update_time:type_name -> google.protobuf.Timestamp + 0, // 3: mockgcp.cloud.aiplatform.v1beta1.Artifact.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact.State + 4, // 4: mockgcp.cloud.aiplatform.v1beta1.Artifact.metadata:type_name -> google.protobuf.Struct + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_artifact_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Artifact); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_artifact_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go new file mode 100644 index 0000000000..a829a95a47 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/batch_prediction_job.pb.go @@ -0,0 +1,1458 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/batch_prediction_job.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A job that uses a +// [Model][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] to produce +// predictions on multiple [input +// instances][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config]. +// If predictions for significant portion of the instances fail, the job may +// finish without attempting predictions for all remaining instances. +type BatchPredictionJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the BatchPredictionJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of this BatchPredictionJob. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The name of the Model resource that produces the predictions via this job, + // must share the same ancestor Location. + // Starting this job has no impact on any existing deployments of the Model + // and their resources. + // Exactly one of model and unmanaged_container_model must be set. + // + // The model resource name may contain version id or version alias to specify + // the version. + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // + // if no version is specified, the default version will be deployed. + // + // The model resource could also be a publisher model. + // + // Example: `publishers/{publisher}/models/{model}` + // or + // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` + Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The version ID of the Model that produces the predictions via + // this job. + ModelVersionId string `protobuf:"bytes,30,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` + // Contains model information necessary to perform batch prediction without + // requiring uploading to model registry. + // Exactly one of model and unmanaged_container_model must be set. + UnmanagedContainerModel *UnmanagedContainerModel `protobuf:"bytes,28,opt,name=unmanaged_container_model,json=unmanagedContainerModel,proto3" json:"unmanaged_container_model,omitempty"` + // Required. Input configuration of the instances on which predictions are + // performed. The schema of any single instance may be specified via the + // [Model's][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]. + InputConfig *BatchPredictionJob_InputConfig `protobuf:"bytes,4,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // Configuration for how to convert batch prediction input instances to the + // prediction instances that are sent to the Model. + InstanceConfig *BatchPredictionJob_InstanceConfig `protobuf:"bytes,27,opt,name=instance_config,json=instanceConfig,proto3" json:"instance_config,omitempty"` + // The parameters that govern the predictions. The schema of the parameters + // may be specified via the + // [Model's][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [parameters_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.parameters_schema_uri]. + ModelParameters *_struct.Value `protobuf:"bytes,5,opt,name=model_parameters,json=modelParameters,proto3" json:"model_parameters,omitempty"` + // Required. The Configuration specifying where output predictions should + // be written. + // The schema of any single prediction may be specified as a concatenation + // of [Model's][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // and + // [prediction_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.prediction_schema_uri]. + OutputConfig *BatchPredictionJob_OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // The config of resources used by the Model during the batch prediction. If + // the Model + // [supports][mockgcp.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types] + // DEDICATED_RESOURCES this config may be provided (and the job will use these + // resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config + // must be provided. + DedicatedResources *BatchDedicatedResources `protobuf:"bytes,7,opt,name=dedicated_resources,json=dedicatedResources,proto3" json:"dedicated_resources,omitempty"` + // The service account that the DeployedModel's container runs as. If not + // specified, a system generated one will be used, which + // has minimal permissions and the custom container, if used, may not have + // enough permission to access other Google Cloud resources. + // + // Users deploying the Model must have the `iam.serviceAccounts.actAs` + // permission on this service account. + ServiceAccount string `protobuf:"bytes,29,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Immutable. Parameters configuring the batch behavior. Currently only + // applicable when + // [dedicated_resources][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.dedicated_resources] + // are used (in other cases Vertex AI does the tuning itself). + ManualBatchTuningParameters *ManualBatchTuningParameters `protobuf:"bytes,8,opt,name=manual_batch_tuning_parameters,json=manualBatchTuningParameters,proto3" json:"manual_batch_tuning_parameters,omitempty"` + // Generate explanation with the batch prediction results. + // + // When set to `true`, the batch prediction output changes based on the + // `predictions_format` field of the + // [BatchPredictionJob.output_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config] + // object: + // + // - `bigquery`: output includes a column named `explanation`. The value + // is a struct that conforms to the + // [Explanation][mockgcp.cloud.aiplatform.v1beta1.Explanation] object. + // - `jsonl`: The JSON objects on each line include an additional entry + // keyed `explanation`. The value of the entry is a JSON object that + // conforms to the + // [Explanation][mockgcp.cloud.aiplatform.v1beta1.Explanation] object. + // - `csv`: Generating explanations for CSV format is not supported. + // + // If this field is set to true, either the + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec] + // or + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] + // must be populated. + GenerateExplanation bool `protobuf:"varint,23,opt,name=generate_explanation,json=generateExplanation,proto3" json:"generate_explanation,omitempty"` + // Explanation configuration for this BatchPredictionJob. Can be + // specified only if + // [generate_explanation][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation] + // is set to `true`. + // + // This value overrides the value of + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec]. + // All fields of + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] + // are optional in the request. If a field of the + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] + // object is not populated, the corresponding field of the + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec] + // object is inherited. + ExplanationSpec *ExplanationSpec `protobuf:"bytes,25,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` + // Output only. Information further describing the output of this job. + OutputInfo *BatchPredictionJob_OutputInfo `protobuf:"bytes,9,opt,name=output_info,json=outputInfo,proto3" json:"output_info,omitempty"` + // Output only. The detailed state of the job. + State JobState `protobuf:"varint,10,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Only populated when the job's state is JOB_STATE_FAILED or + // JOB_STATE_CANCELLED. + Error *status.Status `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"` + // Output only. Partial failures encountered. + // For example, single files that can't be read. + // This field never exceeds 20 entries. + // Status details fields contain standard Google Cloud error details. + PartialFailures []*status.Status `protobuf:"bytes,12,rep,name=partial_failures,json=partialFailures,proto3" json:"partial_failures,omitempty"` + // Output only. Information about resources that had been consumed by this + // job. Provided in real time at best effort basis, as well as a final value + // once the job completes. + // + // Note: This field currently may be not populated for batch predictions that + // use AutoML Models. + ResourcesConsumed *ResourcesConsumed `protobuf:"bytes,13,opt,name=resources_consumed,json=resourcesConsumed,proto3" json:"resources_consumed,omitempty"` + // Output only. Statistics on completed and failed prediction instances. + CompletionStats *CompletionStats `protobuf:"bytes,14,opt,name=completion_stats,json=completionStats,proto3" json:"completion_stats,omitempty"` + // Output only. Time when the BatchPredictionJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the BatchPredictionJob for the first time entered + // the `JOB_STATE_RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,16,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the BatchPredictionJob entered any of the following + // states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + EndTime *timestamp.Timestamp `protobuf:"bytes,17,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Time when the BatchPredictionJob was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,18,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels with user-defined metadata to organize BatchPredictionJobs. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,19,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key options for a BatchPredictionJob. If this + // is set, then all resources created by the BatchPredictionJob will be + // encrypted with the provided encryption key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,24,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Model monitoring config will be used for analysis model behaviors, based on + // the input and output to the batch prediction job, as well as the provided + // training dataset. + ModelMonitoringConfig *ModelMonitoringConfig `protobuf:"bytes,26,opt,name=model_monitoring_config,json=modelMonitoringConfig,proto3" json:"model_monitoring_config,omitempty"` + // Get batch prediction job monitoring statistics. + ModelMonitoringStatsAnomalies []*ModelMonitoringStatsAnomalies `protobuf:"bytes,31,rep,name=model_monitoring_stats_anomalies,json=modelMonitoringStatsAnomalies,proto3" json:"model_monitoring_stats_anomalies,omitempty"` + // Output only. The running status of the model monitoring pipeline. + ModelMonitoringStatus *status.Status `protobuf:"bytes,32,opt,name=model_monitoring_status,json=modelMonitoringStatus,proto3" json:"model_monitoring_status,omitempty"` + // For custom-trained Models and AutoML Tabular Models, the container of the + // DeployedModel instances will send `stderr` and `stdout` streams to + // Cloud Logging by default. Please note that the logs incur cost, + // which are subject to [Cloud Logging + // pricing](https://cloud.google.com/logging/pricing). + // + // User can disable container logging by setting this flag to true. + DisableContainerLogging bool `protobuf:"varint,34,opt,name=disable_container_logging,json=disableContainerLogging,proto3" json:"disable_container_logging,omitempty"` +} + +func (x *BatchPredictionJob) Reset() { + *x = BatchPredictionJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchPredictionJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchPredictionJob) ProtoMessage() {} + +func (x *BatchPredictionJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[0] + 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 BatchPredictionJob.ProtoReflect.Descriptor instead. +func (*BatchPredictionJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP(), []int{0} +} + +func (x *BatchPredictionJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BatchPredictionJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *BatchPredictionJob) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *BatchPredictionJob) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +func (x *BatchPredictionJob) GetUnmanagedContainerModel() *UnmanagedContainerModel { + if x != nil { + return x.UnmanagedContainerModel + } + return nil +} + +func (x *BatchPredictionJob) GetInputConfig() *BatchPredictionJob_InputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *BatchPredictionJob) GetInstanceConfig() *BatchPredictionJob_InstanceConfig { + if x != nil { + return x.InstanceConfig + } + return nil +} + +func (x *BatchPredictionJob) GetModelParameters() *_struct.Value { + if x != nil { + return x.ModelParameters + } + return nil +} + +func (x *BatchPredictionJob) GetOutputConfig() *BatchPredictionJob_OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *BatchPredictionJob) GetDedicatedResources() *BatchDedicatedResources { + if x != nil { + return x.DedicatedResources + } + return nil +} + +func (x *BatchPredictionJob) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *BatchPredictionJob) GetManualBatchTuningParameters() *ManualBatchTuningParameters { + if x != nil { + return x.ManualBatchTuningParameters + } + return nil +} + +func (x *BatchPredictionJob) GetGenerateExplanation() bool { + if x != nil { + return x.GenerateExplanation + } + return false +} + +func (x *BatchPredictionJob) GetExplanationSpec() *ExplanationSpec { + if x != nil { + return x.ExplanationSpec + } + return nil +} + +func (x *BatchPredictionJob) GetOutputInfo() *BatchPredictionJob_OutputInfo { + if x != nil { + return x.OutputInfo + } + return nil +} + +func (x *BatchPredictionJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *BatchPredictionJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *BatchPredictionJob) GetPartialFailures() []*status.Status { + if x != nil { + return x.PartialFailures + } + return nil +} + +func (x *BatchPredictionJob) GetResourcesConsumed() *ResourcesConsumed { + if x != nil { + return x.ResourcesConsumed + } + return nil +} + +func (x *BatchPredictionJob) GetCompletionStats() *CompletionStats { + if x != nil { + return x.CompletionStats + } + return nil +} + +func (x *BatchPredictionJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *BatchPredictionJob) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *BatchPredictionJob) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *BatchPredictionJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *BatchPredictionJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *BatchPredictionJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *BatchPredictionJob) GetModelMonitoringConfig() *ModelMonitoringConfig { + if x != nil { + return x.ModelMonitoringConfig + } + return nil +} + +func (x *BatchPredictionJob) GetModelMonitoringStatsAnomalies() []*ModelMonitoringStatsAnomalies { + if x != nil { + return x.ModelMonitoringStatsAnomalies + } + return nil +} + +func (x *BatchPredictionJob) GetModelMonitoringStatus() *status.Status { + if x != nil { + return x.ModelMonitoringStatus + } + return nil +} + +func (x *BatchPredictionJob) GetDisableContainerLogging() bool { + if x != nil { + return x.DisableContainerLogging + } + return false +} + +// Configures the input to +// [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. +// See +// [Model.supported_input_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_input_storage_formats] +// for Model's supported input formats, and how instances should be expressed +// via any of them. +type BatchPredictionJob_InputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The source of the input. + // + // Types that are assignable to Source: + // + // *BatchPredictionJob_InputConfig_GcsSource + // *BatchPredictionJob_InputConfig_BigquerySource + Source isBatchPredictionJob_InputConfig_Source `protobuf_oneof:"source"` + // Required. The format in which instances are given, must be one of the + // [Model's][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] + // [supported_input_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_input_storage_formats]. + InstancesFormat string `protobuf:"bytes,1,opt,name=instances_format,json=instancesFormat,proto3" json:"instances_format,omitempty"` +} + +func (x *BatchPredictionJob_InputConfig) Reset() { + *x = BatchPredictionJob_InputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchPredictionJob_InputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchPredictionJob_InputConfig) ProtoMessage() {} + +func (x *BatchPredictionJob_InputConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[1] + 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 BatchPredictionJob_InputConfig.ProtoReflect.Descriptor instead. +func (*BatchPredictionJob_InputConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *BatchPredictionJob_InputConfig) GetSource() isBatchPredictionJob_InputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *BatchPredictionJob_InputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*BatchPredictionJob_InputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *BatchPredictionJob_InputConfig) GetBigquerySource() *BigQuerySource { + if x, ok := x.GetSource().(*BatchPredictionJob_InputConfig_BigquerySource); ok { + return x.BigquerySource + } + return nil +} + +func (x *BatchPredictionJob_InputConfig) GetInstancesFormat() string { + if x != nil { + return x.InstancesFormat + } + return "" +} + +type isBatchPredictionJob_InputConfig_Source interface { + isBatchPredictionJob_InputConfig_Source() +} + +type BatchPredictionJob_InputConfig_GcsSource struct { + // The Cloud Storage location for the input instances. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type BatchPredictionJob_InputConfig_BigquerySource struct { + // The BigQuery location of the input table. + // The schema of the table should be in the format described by the given + // context OpenAPI Schema, if one is provided. The table may contain + // additional columns that are not described by the schema, and they will + // be ignored. + BigquerySource *BigQuerySource `protobuf:"bytes,3,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"` +} + +func (*BatchPredictionJob_InputConfig_GcsSource) isBatchPredictionJob_InputConfig_Source() {} + +func (*BatchPredictionJob_InputConfig_BigquerySource) isBatchPredictionJob_InputConfig_Source() {} + +// Configuration defining how to transform batch prediction input instances to +// the instances that the Model accepts. +type BatchPredictionJob_InstanceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The format of the instance that the Model accepts. Vertex AI will + // convert compatible + // [batch prediction input instance + // formats][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.instances_format] + // to the specified format. + // + // Supported values are: + // + // * `object`: Each input is converted to JSON object format. + // - For `bigquery`, each row is converted to an object. + // - For `jsonl`, each line of the JSONL input must be an object. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. + // + // * `array`: Each input is converted to JSON array format. + // - For `bigquery`, each row is converted to an array. The order + // of columns is determined by the BigQuery column order, unless + // [included_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // [included_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - For `jsonl`, if each line of the JSONL input is an object, + // [included_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // must be populated for specifying field orders. + // - Does not apply to `csv`, `file-list`, `tf-record`, or + // `tf-record-gzip`. + // + // If not specified, Vertex AI converts the batch prediction input as + // follows: + // + // - For `bigquery` and `csv`, the behavior is the same as `array`. The + // order of columns is the same as defined in the file or table, unless + // [included_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // is populated. + // - For `jsonl`, the prediction instance format is determined by + // each line of the input. + // - For `tf-record`/`tf-record-gzip`, each record will be converted to + // an object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the record. + // - For `file-list`, each file in the list will be converted to an + // object in the format of `{"b64": }`, where `` is + // the Base64-encoded string of the content of the file. + InstanceType string `protobuf:"bytes,1,opt,name=instance_type,json=instanceType,proto3" json:"instance_type,omitempty"` + // The name of the field that is considered as a key. + // + // The values identified by the key field is not included in the transformed + // instances that is sent to the Model. This is similar to + // specifying this name of the field in + // [excluded_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.excluded_fields]. + // In addition, the batch prediction output will not include the instances. + // Instead the output will only include the value of the key field, in a + // field named `key` in the output: + // + // - For `jsonl` output format, the output will have a `key` field + // instead of the `instance` field. + // - For `csv`/`bigquery` output format, the output will have have a `key` + // column instead of the instance feature columns. + // + // The input must be JSONL with objects at each line, CSV, BigQuery + // or TfRecord. + KeyField string `protobuf:"bytes,2,opt,name=key_field,json=keyField,proto3" json:"key_field,omitempty"` + // Fields that will be included in the prediction instance that is + // sent to the Model. + // + // If + // [instance_type][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.instance_type] + // is `array`, the order of field names in included_fields also determines + // the order of the values in the array. + // + // When included_fields is populated, + // [excluded_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.excluded_fields] + // must be empty. + // + // The input must be JSONL with objects at each line, BigQuery + // or TfRecord. + IncludedFields []string `protobuf:"bytes,3,rep,name=included_fields,json=includedFields,proto3" json:"included_fields,omitempty"` + // Fields that will be excluded in the prediction instance that is + // sent to the Model. + // + // Excluded will be attached to the batch prediction output if + // [key_field][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.key_field] + // is not specified. + // + // When excluded_fields is populated, + // [included_fields][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig.included_fields] + // must be empty. + // + // The input must be JSONL with objects at each line, BigQuery + // or TfRecord. + ExcludedFields []string `protobuf:"bytes,4,rep,name=excluded_fields,json=excludedFields,proto3" json:"excluded_fields,omitempty"` +} + +func (x *BatchPredictionJob_InstanceConfig) Reset() { + *x = BatchPredictionJob_InstanceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchPredictionJob_InstanceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchPredictionJob_InstanceConfig) ProtoMessage() {} + +func (x *BatchPredictionJob_InstanceConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_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 BatchPredictionJob_InstanceConfig.ProtoReflect.Descriptor instead. +func (*BatchPredictionJob_InstanceConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *BatchPredictionJob_InstanceConfig) GetInstanceType() string { + if x != nil { + return x.InstanceType + } + return "" +} + +func (x *BatchPredictionJob_InstanceConfig) GetKeyField() string { + if x != nil { + return x.KeyField + } + return "" +} + +func (x *BatchPredictionJob_InstanceConfig) GetIncludedFields() []string { + if x != nil { + return x.IncludedFields + } + return nil +} + +func (x *BatchPredictionJob_InstanceConfig) GetExcludedFields() []string { + if x != nil { + return x.ExcludedFields + } + return nil +} + +// Configures the output of +// [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. +// See +// [Model.supported_output_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_output_storage_formats] +// for supported output formats, and how predictions are expressed via any of +// them. +type BatchPredictionJob_OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The destination of the output. + // + // Types that are assignable to Destination: + // + // *BatchPredictionJob_OutputConfig_GcsDestination + // *BatchPredictionJob_OutputConfig_BigqueryDestination + Destination isBatchPredictionJob_OutputConfig_Destination `protobuf_oneof:"destination"` + // Required. The format in which Vertex AI gives the predictions, must be + // one of the + // [Model's][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model] + // [supported_output_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_output_storage_formats]. + PredictionsFormat string `protobuf:"bytes,1,opt,name=predictions_format,json=predictionsFormat,proto3" json:"predictions_format,omitempty"` +} + +func (x *BatchPredictionJob_OutputConfig) Reset() { + *x = BatchPredictionJob_OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchPredictionJob_OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchPredictionJob_OutputConfig) ProtoMessage() {} + +func (x *BatchPredictionJob_OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[3] + 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 BatchPredictionJob_OutputConfig.ProtoReflect.Descriptor instead. +func (*BatchPredictionJob_OutputConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 2} +} + +func (m *BatchPredictionJob_OutputConfig) GetDestination() isBatchPredictionJob_OutputConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *BatchPredictionJob_OutputConfig) GetGcsDestination() *GcsDestination { + if x, ok := x.GetDestination().(*BatchPredictionJob_OutputConfig_GcsDestination); ok { + return x.GcsDestination + } + return nil +} + +func (x *BatchPredictionJob_OutputConfig) GetBigqueryDestination() *BigQueryDestination { + if x, ok := x.GetDestination().(*BatchPredictionJob_OutputConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +func (x *BatchPredictionJob_OutputConfig) GetPredictionsFormat() string { + if x != nil { + return x.PredictionsFormat + } + return "" +} + +type isBatchPredictionJob_OutputConfig_Destination interface { + isBatchPredictionJob_OutputConfig_Destination() +} + +type BatchPredictionJob_OutputConfig_GcsDestination struct { + // The Cloud Storage location of the directory where the output is + // to be written to. In the given directory a new directory is created. + // Its name is `prediction--`, + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // Inside of it files `predictions_0001.`, + // `predictions_0002.`, ..., `predictions_N.` + // are created where `` depends on chosen + // [predictions_format][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.predictions_format], + // and N may equal 0001 and depends on the total number of successfully + // predicted instances. If the Model has both + // [instance][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // and + // [prediction][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.parameters_schema_uri] + // schemata defined then each such file contains predictions as per the + // [predictions_format][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.predictions_format]. + // If prediction for any instance failed (partially or completely), then + // an additional `errors_0001.`, `errors_0002.`,..., + // `errors_N.` files are created (N depends on total number + // of failed predictions). These files contain the failed instances, + // as per their schema, followed by an additional `error` field which as + // value has [google.rpc.Status][google.rpc.Status] + // containing only `code` and `message` fields. + GcsDestination *GcsDestination `protobuf:"bytes,2,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +type BatchPredictionJob_OutputConfig_BigqueryDestination struct { + // The BigQuery project or dataset location where the output is to be + // written to. If project is provided, a new dataset is created with name + // `prediction__` + // where is made + // BigQuery-dataset-name compatible (for example, most special characters + // become underscores), and timestamp is in + // YYYY_MM_DDThh_mm_ss_sssZ "based on ISO-8601" format. In the dataset + // two tables will be created, `predictions`, and `errors`. + // If the Model has both + // [instance][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // and + // [prediction][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.parameters_schema_uri] + // schemata defined then the tables have columns as follows: The + // `predictions` table contains instances for which the prediction + // succeeded, it has columns as per a concatenation of the Model's + // instance and prediction schemata. The `errors` table contains rows for + // which the prediction has failed, it has instance columns, as per the + // instance schema, followed by a single "errors" column, which as values + // has [google.rpc.Status][google.rpc.Status] + // represented as a STRUCT, and containing only `code` and `message`. + BigqueryDestination *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +func (*BatchPredictionJob_OutputConfig_GcsDestination) isBatchPredictionJob_OutputConfig_Destination() { +} + +func (*BatchPredictionJob_OutputConfig_BigqueryDestination) isBatchPredictionJob_OutputConfig_Destination() { +} + +// Further describes this job's output. +// Supplements +// [output_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config]. +type BatchPredictionJob_OutputInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The output location into which prediction output is written. + // + // Types that are assignable to OutputLocation: + // + // *BatchPredictionJob_OutputInfo_GcsOutputDirectory + // *BatchPredictionJob_OutputInfo_BigqueryOutputDataset + OutputLocation isBatchPredictionJob_OutputInfo_OutputLocation `protobuf_oneof:"output_location"` + // Output only. The name of the BigQuery table created, in + // `predictions_` + // format, into which the prediction output is written. + // Can be used by UI to generate the BigQuery output path, for example. + BigqueryOutputTable string `protobuf:"bytes,4,opt,name=bigquery_output_table,json=bigqueryOutputTable,proto3" json:"bigquery_output_table,omitempty"` +} + +func (x *BatchPredictionJob_OutputInfo) Reset() { + *x = BatchPredictionJob_OutputInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchPredictionJob_OutputInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchPredictionJob_OutputInfo) ProtoMessage() {} + +func (x *BatchPredictionJob_OutputInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[4] + 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 BatchPredictionJob_OutputInfo.ProtoReflect.Descriptor instead. +func (*BatchPredictionJob_OutputInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP(), []int{0, 3} +} + +func (m *BatchPredictionJob_OutputInfo) GetOutputLocation() isBatchPredictionJob_OutputInfo_OutputLocation { + if m != nil { + return m.OutputLocation + } + return nil +} + +func (x *BatchPredictionJob_OutputInfo) GetGcsOutputDirectory() string { + if x, ok := x.GetOutputLocation().(*BatchPredictionJob_OutputInfo_GcsOutputDirectory); ok { + return x.GcsOutputDirectory + } + return "" +} + +func (x *BatchPredictionJob_OutputInfo) GetBigqueryOutputDataset() string { + if x, ok := x.GetOutputLocation().(*BatchPredictionJob_OutputInfo_BigqueryOutputDataset); ok { + return x.BigqueryOutputDataset + } + return "" +} + +func (x *BatchPredictionJob_OutputInfo) GetBigqueryOutputTable() string { + if x != nil { + return x.BigqueryOutputTable + } + return "" +} + +type isBatchPredictionJob_OutputInfo_OutputLocation interface { + isBatchPredictionJob_OutputInfo_OutputLocation() +} + +type BatchPredictionJob_OutputInfo_GcsOutputDirectory struct { + // Output only. The full path of the Cloud Storage directory created, into + // which the prediction output is written. + GcsOutputDirectory string `protobuf:"bytes,1,opt,name=gcs_output_directory,json=gcsOutputDirectory,proto3,oneof"` +} + +type BatchPredictionJob_OutputInfo_BigqueryOutputDataset struct { + // Output only. The path of the BigQuery dataset created, in + // `bq://projectId.bqDatasetId` + // format, into which the prediction output is written. + BigqueryOutputDataset string `protobuf:"bytes,2,opt,name=bigquery_output_dataset,json=bigqueryOutputDataset,proto3,oneof"` +} + +func (*BatchPredictionJob_OutputInfo_GcsOutputDirectory) isBatchPredictionJob_OutputInfo_OutputLocation() { +} + +func (*BatchPredictionJob_OutputInfo_BigqueryOutputDataset) isBatchPredictionJob_OutputInfo_OutputLocation() { +} + +var File_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, + 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x40, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x1b, 0x0a, 0x12, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, + 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x75, 0x0a, 0x19, + 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x17, 0x75, 0x6e, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x68, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, + 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x10, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6b, + 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x13, 0x64, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x6e, + 0x75, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x1b, 0x6d, + 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, + 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, 0x0b, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x12, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, + 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x61, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 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, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 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, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 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, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 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, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6f, 0x0a, + 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x88, + 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x69, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x17, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x1a, 0xf2, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0xa4, 0x01, 0x0a, 0x0e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, + 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x1a, 0x9a, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x6a, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x12, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0xd0, 0x01, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, + 0x0a, 0x14, 0x67, 0x63, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x48, 0x00, 0x52, 0x12, 0x67, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x17, 0x62, 0x69, 0x67, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, + 0x15, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x11, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x86, 0x01, + 0xea, 0x41, 0x82, 0x01, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x12, 0x52, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x2f, + 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x42, 0xef, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_goTypes = []interface{}{ + (*BatchPredictionJob)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + (*BatchPredictionJob_InputConfig)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig + (*BatchPredictionJob_InstanceConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig + (*BatchPredictionJob_OutputConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig + (*BatchPredictionJob_OutputInfo)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputInfo + nil, // 5: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.LabelsEntry + (*UnmanagedContainerModel)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.UnmanagedContainerModel + (*_struct.Value)(nil), // 7: google.protobuf.Value + (*BatchDedicatedResources)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.BatchDedicatedResources + (*ManualBatchTuningParameters)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ManualBatchTuningParameters + (*ExplanationSpec)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + (JobState)(0), // 11: mockgcp.cloud.aiplatform.v1beta1.JobState + (*status.Status)(nil), // 12: google.rpc.Status + (*ResourcesConsumed)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.ResourcesConsumed + (*CompletionStats)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.CompletionStats + (*timestamp.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*ModelMonitoringConfig)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig + (*ModelMonitoringStatsAnomalies)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies + (*GcsSource)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.GcsSource + (*BigQuerySource)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + (*GcsDestination)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*BigQueryDestination)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination +} +var file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_depIdxs = []int32{ + 6, // 0: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.unmanaged_container_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.UnmanagedContainerModel + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.instance_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InstanceConfig + 7, // 3: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model_parameters:type_name -> google.protobuf.Value + 3, // 4: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig + 8, // 5: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.dedicated_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchDedicatedResources + 9, // 6: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.manual_batch_tuning_parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.ManualBatchTuningParameters + 10, // 7: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + 4, // 8: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_info:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputInfo + 11, // 9: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 12, // 10: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.error:type_name -> google.rpc.Status + 12, // 11: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.partial_failures:type_name -> google.rpc.Status + 13, // 12: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.resources_consumed:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourcesConsumed + 14, // 13: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.completion_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.CompletionStats + 15, // 14: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.create_time:type_name -> google.protobuf.Timestamp + 15, // 15: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.start_time:type_name -> google.protobuf.Timestamp + 15, // 16: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.end_time:type_name -> google.protobuf.Timestamp + 15, // 17: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.update_time:type_name -> google.protobuf.Timestamp + 5, // 18: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.LabelsEntry + 16, // 19: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 17, // 20: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model_monitoring_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig + 18, // 21: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model_monitoring_stats_anomalies:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies + 12, // 22: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model_monitoring_status:type_name -> google.rpc.Status + 19, // 23: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 20, // 24: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.bigquery_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + 21, // 25: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 22, // 26: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + 27, // [27:27] is the sub-list for method output_type + 27, // [27:27] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_unmanaged_container_model_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchPredictionJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchPredictionJob_InputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchPredictionJob_InstanceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchPredictionJob_OutputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchPredictionJob_OutputInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*BatchPredictionJob_InputConfig_GcsSource)(nil), + (*BatchPredictionJob_InputConfig_BigquerySource)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*BatchPredictionJob_OutputConfig_GcsDestination)(nil), + (*BatchPredictionJob_OutputConfig_BigqueryDestination)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*BatchPredictionJob_OutputInfo_GcsOutputDirectory)(nil), + (*BatchPredictionJob_OutputInfo_BigqueryOutputDataset)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/completion_stats.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/completion_stats.pb.go new file mode 100644 index 0000000000..e8967e140e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/completion_stats.pb.go @@ -0,0 +1,225 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/completion_stats.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Success and error statistics of processing multiple entities +// (for example, DataItems or structured data rows) in batch. +type CompletionStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The number of entities that had been processed successfully. + SuccessfulCount int64 `protobuf:"varint,1,opt,name=successful_count,json=successfulCount,proto3" json:"successful_count,omitempty"` + // Output only. The number of entities for which any error was encountered. + FailedCount int64 `protobuf:"varint,2,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + // Output only. In cases when enough errors are encountered a job, pipeline, + // or operation may be failed as a whole. Below is the number of entities for + // which the processing had not been finished (either in successful or failed + // state). Set to -1 if the number is unknown (for example, the operation + // failed before the total entity number could be collected). + IncompleteCount int64 `protobuf:"varint,3,opt,name=incomplete_count,json=incompleteCount,proto3" json:"incomplete_count,omitempty"` + // Output only. The number of the successful forecast points that are + // generated by the forecasting model. This is ONLY used by the forecasting + // batch prediction. + SuccessfulForecastPointCount int64 `protobuf:"varint,5,opt,name=successful_forecast_point_count,json=successfulForecastPointCount,proto3" json:"successful_forecast_point_count,omitempty"` +} + +func (x *CompletionStats) Reset() { + *x = CompletionStats{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompletionStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompletionStats) ProtoMessage() {} + +func (x *CompletionStats) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_msgTypes[0] + 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 CompletionStats.ProtoReflect.Descriptor instead. +func (*CompletionStats) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescGZIP(), []int{0} +} + +func (x *CompletionStats) GetSuccessfulCount() int64 { + if x != nil { + return x.SuccessfulCount + } + return 0 +} + +func (x *CompletionStats) GetFailedCount() int64 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *CompletionStats) GetIncompleteCount() int64 { + if x != nil { + return x.IncompleteCount + } + return 0 +} + +func (x *CompletionStats) GetSuccessfulForecastPointCount() int64 { + if x != nil { + return x.SuccessfulForecastPointCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x22, 0xe5, 0x01, 0x0a, + 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x1f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, + 0x75, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_goTypes = []interface{}{ + (*CompletionStats)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CompletionStats +} +var file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompletionStats); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_completion_stats_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/content.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/content.pb.go new file mode 100644 index 0000000000..c37989fc3e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/content.pb.go @@ -0,0 +1,2007 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/content.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + _ "google.golang.org/genproto/googleapis/api/annotations" + date "google.golang.org/genproto/googleapis/type/date" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Harm categories that will block the content. +type HarmCategory int32 + +const ( + // The harm category is unspecified. + HarmCategory_HARM_CATEGORY_UNSPECIFIED HarmCategory = 0 + // The harm category is hate speech. + HarmCategory_HARM_CATEGORY_HATE_SPEECH HarmCategory = 1 + // The harm category is dangerous content. + HarmCategory_HARM_CATEGORY_DANGEROUS_CONTENT HarmCategory = 2 + // The harm category is harassment. + HarmCategory_HARM_CATEGORY_HARASSMENT HarmCategory = 3 + // The harm category is sexually explicit content. + HarmCategory_HARM_CATEGORY_SEXUALLY_EXPLICIT HarmCategory = 4 +) + +// Enum value maps for HarmCategory. +var ( + HarmCategory_name = map[int32]string{ + 0: "HARM_CATEGORY_UNSPECIFIED", + 1: "HARM_CATEGORY_HATE_SPEECH", + 2: "HARM_CATEGORY_DANGEROUS_CONTENT", + 3: "HARM_CATEGORY_HARASSMENT", + 4: "HARM_CATEGORY_SEXUALLY_EXPLICIT", + } + HarmCategory_value = map[string]int32{ + "HARM_CATEGORY_UNSPECIFIED": 0, + "HARM_CATEGORY_HATE_SPEECH": 1, + "HARM_CATEGORY_DANGEROUS_CONTENT": 2, + "HARM_CATEGORY_HARASSMENT": 3, + "HARM_CATEGORY_SEXUALLY_EXPLICIT": 4, + } +) + +func (x HarmCategory) Enum() *HarmCategory { + p := new(HarmCategory) + *p = x + return p +} + +func (x HarmCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HarmCategory) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[0].Descriptor() +} + +func (HarmCategory) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[0] +} + +func (x HarmCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HarmCategory.Descriptor instead. +func (HarmCategory) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{0} +} + +// Probability based thresholds levels for blocking. +type SafetySetting_HarmBlockThreshold int32 + +const ( + // Unspecified harm block threshold. + SafetySetting_HARM_BLOCK_THRESHOLD_UNSPECIFIED SafetySetting_HarmBlockThreshold = 0 + // Block low threshold and above (i.e. block more). + SafetySetting_BLOCK_LOW_AND_ABOVE SafetySetting_HarmBlockThreshold = 1 + // Block medium threshold and above. + SafetySetting_BLOCK_MEDIUM_AND_ABOVE SafetySetting_HarmBlockThreshold = 2 + // Block only high threshold (i.e. block less). + SafetySetting_BLOCK_ONLY_HIGH SafetySetting_HarmBlockThreshold = 3 + // Block none. + SafetySetting_BLOCK_NONE SafetySetting_HarmBlockThreshold = 4 +) + +// Enum value maps for SafetySetting_HarmBlockThreshold. +var ( + SafetySetting_HarmBlockThreshold_name = map[int32]string{ + 0: "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + 1: "BLOCK_LOW_AND_ABOVE", + 2: "BLOCK_MEDIUM_AND_ABOVE", + 3: "BLOCK_ONLY_HIGH", + 4: "BLOCK_NONE", + } + SafetySetting_HarmBlockThreshold_value = map[string]int32{ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0, + "BLOCK_LOW_AND_ABOVE": 1, + "BLOCK_MEDIUM_AND_ABOVE": 2, + "BLOCK_ONLY_HIGH": 3, + "BLOCK_NONE": 4, + } +) + +func (x SafetySetting_HarmBlockThreshold) Enum() *SafetySetting_HarmBlockThreshold { + p := new(SafetySetting_HarmBlockThreshold) + *p = x + return p +} + +func (x SafetySetting_HarmBlockThreshold) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SafetySetting_HarmBlockThreshold) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[1].Descriptor() +} + +func (SafetySetting_HarmBlockThreshold) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[1] +} + +func (x SafetySetting_HarmBlockThreshold) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SafetySetting_HarmBlockThreshold.Descriptor instead. +func (SafetySetting_HarmBlockThreshold) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{6, 0} +} + +// Harm probability levels in the content. +type SafetyRating_HarmProbability int32 + +const ( + // Harm probability unspecified. + SafetyRating_HARM_PROBABILITY_UNSPECIFIED SafetyRating_HarmProbability = 0 + // Negligible level of harm. + SafetyRating_NEGLIGIBLE SafetyRating_HarmProbability = 1 + // Low level of harm. + SafetyRating_LOW SafetyRating_HarmProbability = 2 + // Medium level of harm. + SafetyRating_MEDIUM SafetyRating_HarmProbability = 3 + // High level of harm. + SafetyRating_HIGH SafetyRating_HarmProbability = 4 +) + +// Enum value maps for SafetyRating_HarmProbability. +var ( + SafetyRating_HarmProbability_name = map[int32]string{ + 0: "HARM_PROBABILITY_UNSPECIFIED", + 1: "NEGLIGIBLE", + 2: "LOW", + 3: "MEDIUM", + 4: "HIGH", + } + SafetyRating_HarmProbability_value = map[string]int32{ + "HARM_PROBABILITY_UNSPECIFIED": 0, + "NEGLIGIBLE": 1, + "LOW": 2, + "MEDIUM": 3, + "HIGH": 4, + } +) + +func (x SafetyRating_HarmProbability) Enum() *SafetyRating_HarmProbability { + p := new(SafetyRating_HarmProbability) + *p = x + return p +} + +func (x SafetyRating_HarmProbability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SafetyRating_HarmProbability) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[2].Descriptor() +} + +func (SafetyRating_HarmProbability) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[2] +} + +func (x SafetyRating_HarmProbability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SafetyRating_HarmProbability.Descriptor instead. +func (SafetyRating_HarmProbability) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{7, 0} +} + +// The reason why the model stopped generating tokens. +// If empty, the model has not stopped generating the tokens. +type Candidate_FinishReason int32 + +const ( + // The finish reason is unspecified. + Candidate_FINISH_REASON_UNSPECIFIED Candidate_FinishReason = 0 + // Natural stop point of the model or provided stop sequence. + Candidate_STOP Candidate_FinishReason = 1 + // The maximum number of tokens as specified in the request was reached. + Candidate_MAX_TOKENS Candidate_FinishReason = 2 + // The token generation was stopped as the response was flagged for safety + // reasons. NOTE: When streaming the Candidate.content will be empty if + // content filters blocked the output. + Candidate_SAFETY Candidate_FinishReason = 3 + // The token generation was stopped as the response was flagged for + // unauthorized citations. + Candidate_RECITATION Candidate_FinishReason = 4 + // All other reasons that stopped the token generation + Candidate_OTHER Candidate_FinishReason = 5 +) + +// Enum value maps for Candidate_FinishReason. +var ( + Candidate_FinishReason_name = map[int32]string{ + 0: "FINISH_REASON_UNSPECIFIED", + 1: "STOP", + 2: "MAX_TOKENS", + 3: "SAFETY", + 4: "RECITATION", + 5: "OTHER", + } + Candidate_FinishReason_value = map[string]int32{ + "FINISH_REASON_UNSPECIFIED": 0, + "STOP": 1, + "MAX_TOKENS": 2, + "SAFETY": 3, + "RECITATION": 4, + "OTHER": 5, + } +) + +func (x Candidate_FinishReason) Enum() *Candidate_FinishReason { + p := new(Candidate_FinishReason) + *p = x + return p +} + +func (x Candidate_FinishReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Candidate_FinishReason) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[3].Descriptor() +} + +func (Candidate_FinishReason) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes[3] +} + +func (x Candidate_FinishReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Candidate_FinishReason.Descriptor instead. +func (Candidate_FinishReason) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{10, 0} +} + +// The base structured datatype containing multi-part content of a message. +// +// A `Content` includes a `role` field designating the producer of the `Content` +// and a `parts` field containing multi-part data that contains the content of +// the message turn. +type Content struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The producer of the content. Must be either 'user' or 'model'. + // + // Useful to set for multi-turn conversations, otherwise can be left blank + // or unset. + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + // Required. Ordered `Parts` that constitute a single message. Parts may have + // different IANA MIME types. + Parts []*Part `protobuf:"bytes,2,rep,name=parts,proto3" json:"parts,omitempty"` +} + +func (x *Content) Reset() { + *x = Content{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Content) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Content) ProtoMessage() {} + +func (x *Content) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[0] + 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 Content.ProtoReflect.Descriptor instead. +func (*Content) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{0} +} + +func (x *Content) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *Content) GetParts() []*Part { + if x != nil { + return x.Parts + } + return nil +} + +// A datatype containing media that is part of a multi-part `Content` message. +// +// A `Part` consists of data which has an associated datatype. A `Part` can only +// contain one of the accepted types in `Part.data`. +// +// A `Part` must have a fixed IANA MIME type identifying the type and subtype +// of the media if `inline_data` or `file_data` field is filled with raw bytes. +type Part struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Data: + // + // *Part_Text + // *Part_InlineData + // *Part_FileData + // *Part_FunctionCall + // *Part_FunctionResponse + Data isPart_Data `protobuf_oneof:"data"` + // Types that are assignable to Metadata: + // + // *Part_VideoMetadata + Metadata isPart_Metadata `protobuf_oneof:"metadata"` +} + +func (x *Part) Reset() { + *x = Part{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Part) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Part) ProtoMessage() {} + +func (x *Part) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[1] + 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 Part.ProtoReflect.Descriptor instead. +func (*Part) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{1} +} + +func (m *Part) GetData() isPart_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *Part) GetText() string { + if x, ok := x.GetData().(*Part_Text); ok { + return x.Text + } + return "" +} + +func (x *Part) GetInlineData() *Blob { + if x, ok := x.GetData().(*Part_InlineData); ok { + return x.InlineData + } + return nil +} + +func (x *Part) GetFileData() *FileData { + if x, ok := x.GetData().(*Part_FileData); ok { + return x.FileData + } + return nil +} + +func (x *Part) GetFunctionCall() *FunctionCall { + if x, ok := x.GetData().(*Part_FunctionCall); ok { + return x.FunctionCall + } + return nil +} + +func (x *Part) GetFunctionResponse() *FunctionResponse { + if x, ok := x.GetData().(*Part_FunctionResponse); ok { + return x.FunctionResponse + } + return nil +} + +func (m *Part) GetMetadata() isPart_Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +func (x *Part) GetVideoMetadata() *VideoMetadata { + if x, ok := x.GetMetadata().(*Part_VideoMetadata); ok { + return x.VideoMetadata + } + return nil +} + +type isPart_Data interface { + isPart_Data() +} + +type Part_Text struct { + // Optional. Text part (can be code). + Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` +} + +type Part_InlineData struct { + // Optional. Inlined bytes data. + InlineData *Blob `protobuf:"bytes,2,opt,name=inline_data,json=inlineData,proto3,oneof"` +} + +type Part_FileData struct { + // Optional. URI based data. + FileData *FileData `protobuf:"bytes,3,opt,name=file_data,json=fileData,proto3,oneof"` +} + +type Part_FunctionCall struct { + // Optional. A predicted [FunctionCall] returned from the model that + // contains a string representing the [FunctionDeclaration.name] with the + // parameters and their values. + FunctionCall *FunctionCall `protobuf:"bytes,5,opt,name=function_call,json=functionCall,proto3,oneof"` +} + +type Part_FunctionResponse struct { + // Optional. The result output of a [FunctionCall] that contains a string + // representing the [FunctionDeclaration.name] and a structured JSON object + // containing any output from the function call. It is used as context to + // the model. + FunctionResponse *FunctionResponse `protobuf:"bytes,6,opt,name=function_response,json=functionResponse,proto3,oneof"` +} + +func (*Part_Text) isPart_Data() {} + +func (*Part_InlineData) isPart_Data() {} + +func (*Part_FileData) isPart_Data() {} + +func (*Part_FunctionCall) isPart_Data() {} + +func (*Part_FunctionResponse) isPart_Data() {} + +type isPart_Metadata interface { + isPart_Metadata() +} + +type Part_VideoMetadata struct { + // Optional. Video metadata. The metadata should only be specified while the + // video data is presented in inline_data or file_data. + VideoMetadata *VideoMetadata `protobuf:"bytes,4,opt,name=video_metadata,json=videoMetadata,proto3,oneof"` +} + +func (*Part_VideoMetadata) isPart_Metadata() {} + +// Raw media bytes. +// +// Text should not be sent as raw bytes, use the 'text' field. +type Blob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The IANA standard MIME type of the source data. + MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Required. Raw bytes for media formats. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *Blob) Reset() { + *x = Blob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Blob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Blob) ProtoMessage() {} + +func (x *Blob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_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 Blob.ProtoReflect.Descriptor instead. +func (*Blob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{2} +} + +func (x *Blob) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *Blob) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// URI based data. +type FileData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The IANA standard MIME type of the source data. + MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Required. URI. + FileUri string `protobuf:"bytes,2,opt,name=file_uri,json=fileUri,proto3" json:"file_uri,omitempty"` +} + +func (x *FileData) Reset() { + *x = FileData{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileData) ProtoMessage() {} + +func (x *FileData) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[3] + 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 FileData.ProtoReflect.Descriptor instead. +func (*FileData) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{3} +} + +func (x *FileData) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *FileData) GetFileUri() string { + if x != nil { + return x.FileUri + } + return "" +} + +// Metadata describes the input video content. +type VideoMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The start offset of the video. + StartOffset *duration.Duration `protobuf:"bytes,1,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` + // Optional. The end offset of the video. + EndOffset *duration.Duration `protobuf:"bytes,2,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` +} + +func (x *VideoMetadata) Reset() { + *x = VideoMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VideoMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VideoMetadata) ProtoMessage() {} + +func (x *VideoMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[4] + 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 VideoMetadata.ProtoReflect.Descriptor instead. +func (*VideoMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{4} +} + +func (x *VideoMetadata) GetStartOffset() *duration.Duration { + if x != nil { + return x.StartOffset + } + return nil +} + +func (x *VideoMetadata) GetEndOffset() *duration.Duration { + if x != nil { + return x.EndOffset + } + return nil +} + +// Generation config. +type GenerationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Controls the randomness of predictions. + Temperature *float32 `protobuf:"fixed32,1,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` + // Optional. If specified, nucleus sampling will be used. + TopP *float32 `protobuf:"fixed32,2,opt,name=top_p,json=topP,proto3,oneof" json:"top_p,omitempty"` + // Optional. If specified, top-k sampling will be used. + TopK *float32 `protobuf:"fixed32,3,opt,name=top_k,json=topK,proto3,oneof" json:"top_k,omitempty"` + // Optional. Number of candidates to generate. + CandidateCount *int32 `protobuf:"varint,4,opt,name=candidate_count,json=candidateCount,proto3,oneof" json:"candidate_count,omitempty"` + // Optional. The maximum number of output tokens to generate per message. + MaxOutputTokens *int32 `protobuf:"varint,5,opt,name=max_output_tokens,json=maxOutputTokens,proto3,oneof" json:"max_output_tokens,omitempty"` + // Optional. Stop sequences. + StopSequences []string `protobuf:"bytes,6,rep,name=stop_sequences,json=stopSequences,proto3" json:"stop_sequences,omitempty"` +} + +func (x *GenerationConfig) Reset() { + *x = GenerationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerationConfig) ProtoMessage() {} + +func (x *GenerationConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[5] + 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 GenerationConfig.ProtoReflect.Descriptor instead. +func (*GenerationConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{5} +} + +func (x *GenerationConfig) GetTemperature() float32 { + if x != nil && x.Temperature != nil { + return *x.Temperature + } + return 0 +} + +func (x *GenerationConfig) GetTopP() float32 { + if x != nil && x.TopP != nil { + return *x.TopP + } + return 0 +} + +func (x *GenerationConfig) GetTopK() float32 { + if x != nil && x.TopK != nil { + return *x.TopK + } + return 0 +} + +func (x *GenerationConfig) GetCandidateCount() int32 { + if x != nil && x.CandidateCount != nil { + return *x.CandidateCount + } + return 0 +} + +func (x *GenerationConfig) GetMaxOutputTokens() int32 { + if x != nil && x.MaxOutputTokens != nil { + return *x.MaxOutputTokens + } + return 0 +} + +func (x *GenerationConfig) GetStopSequences() []string { + if x != nil { + return x.StopSequences + } + return nil +} + +// Safety settings. +type SafetySetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Harm category. + Category HarmCategory `protobuf:"varint,1,opt,name=category,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.HarmCategory" json:"category,omitempty"` + // Required. The harm block threshold. + Threshold SafetySetting_HarmBlockThreshold `protobuf:"varint,2,opt,name=threshold,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.SafetySetting_HarmBlockThreshold" json:"threshold,omitempty"` +} + +func (x *SafetySetting) Reset() { + *x = SafetySetting{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SafetySetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SafetySetting) ProtoMessage() {} + +func (x *SafetySetting) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_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 SafetySetting.ProtoReflect.Descriptor instead. +func (*SafetySetting) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{6} +} + +func (x *SafetySetting) GetCategory() HarmCategory { + if x != nil { + return x.Category + } + return HarmCategory_HARM_CATEGORY_UNSPECIFIED +} + +func (x *SafetySetting) GetThreshold() SafetySetting_HarmBlockThreshold { + if x != nil { + return x.Threshold + } + return SafetySetting_HARM_BLOCK_THRESHOLD_UNSPECIFIED +} + +// Safety rating corresponding to the generated content. +type SafetyRating struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Harm category. + Category HarmCategory `protobuf:"varint,1,opt,name=category,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.HarmCategory" json:"category,omitempty"` + // Output only. Harm probability levels in the content. + Probability SafetyRating_HarmProbability `protobuf:"varint,2,opt,name=probability,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.SafetyRating_HarmProbability" json:"probability,omitempty"` + // Output only. Indicates whether the content was filtered out because of this + // rating. + Blocked bool `protobuf:"varint,3,opt,name=blocked,proto3" json:"blocked,omitempty"` +} + +func (x *SafetyRating) Reset() { + *x = SafetyRating{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SafetyRating) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SafetyRating) ProtoMessage() {} + +func (x *SafetyRating) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[7] + 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 SafetyRating.ProtoReflect.Descriptor instead. +func (*SafetyRating) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{7} +} + +func (x *SafetyRating) GetCategory() HarmCategory { + if x != nil { + return x.Category + } + return HarmCategory_HARM_CATEGORY_UNSPECIFIED +} + +func (x *SafetyRating) GetProbability() SafetyRating_HarmProbability { + if x != nil { + return x.Probability + } + return SafetyRating_HARM_PROBABILITY_UNSPECIFIED +} + +func (x *SafetyRating) GetBlocked() bool { + if x != nil { + return x.Blocked + } + return false +} + +// A collection of source attributions for a piece of content. +type CitationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. List of citations. + Citations []*Citation `protobuf:"bytes,1,rep,name=citations,proto3" json:"citations,omitempty"` +} + +func (x *CitationMetadata) Reset() { + *x = CitationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CitationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CitationMetadata) ProtoMessage() {} + +func (x *CitationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_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 CitationMetadata.ProtoReflect.Descriptor instead. +func (*CitationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{8} +} + +func (x *CitationMetadata) GetCitations() []*Citation { + if x != nil { + return x.Citations + } + return nil +} + +// Source attributions for content. +type Citation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Start index into the content. + StartIndex int32 `protobuf:"varint,1,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"` + // Output only. End index into the content. + EndIndex int32 `protobuf:"varint,2,opt,name=end_index,json=endIndex,proto3" json:"end_index,omitempty"` + // Output only. Url reference of the attribution. + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` + // Output only. Title of the attribution. + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + // Output only. License of the attribution. + License string `protobuf:"bytes,5,opt,name=license,proto3" json:"license,omitempty"` + // Output only. Publication date of the attribution. + PublicationDate *date.Date `protobuf:"bytes,6,opt,name=publication_date,json=publicationDate,proto3" json:"publication_date,omitempty"` +} + +func (x *Citation) Reset() { + *x = Citation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Citation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Citation) ProtoMessage() {} + +func (x *Citation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[9] + 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 Citation.ProtoReflect.Descriptor instead. +func (*Citation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{9} +} + +func (x *Citation) GetStartIndex() int32 { + if x != nil { + return x.StartIndex + } + return 0 +} + +func (x *Citation) GetEndIndex() int32 { + if x != nil { + return x.EndIndex + } + return 0 +} + +func (x *Citation) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Citation) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Citation) GetLicense() string { + if x != nil { + return x.License + } + return "" +} + +func (x *Citation) GetPublicationDate() *date.Date { + if x != nil { + return x.PublicationDate + } + return nil +} + +// A response candidate generated from the model. +type Candidate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Index of the candidate. + Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + // Output only. Content parts of the candidate. + Content *Content `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + // Output only. The reason why the model stopped generating tokens. + // If empty, the model has not stopped generating the tokens. + FinishReason Candidate_FinishReason `protobuf:"varint,3,opt,name=finish_reason,json=finishReason,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Candidate_FinishReason" json:"finish_reason,omitempty"` + // Output only. List of ratings for the safety of a response candidate. + // + // There is at most one rating per category. + SafetyRatings []*SafetyRating `protobuf:"bytes,4,rep,name=safety_ratings,json=safetyRatings,proto3" json:"safety_ratings,omitempty"` + // Output only. Describes the reason the mode stopped generating tokens in + // more detail. This is only filled when `finish_reason` is set. + FinishMessage *string `protobuf:"bytes,5,opt,name=finish_message,json=finishMessage,proto3,oneof" json:"finish_message,omitempty"` + // Output only. Source attribution of the generated content. + CitationMetadata *CitationMetadata `protobuf:"bytes,6,opt,name=citation_metadata,json=citationMetadata,proto3" json:"citation_metadata,omitempty"` + // Output only. Metadata specifies sources used to ground generated content. + GroundingMetadata *GroundingMetadata `protobuf:"bytes,7,opt,name=grounding_metadata,json=groundingMetadata,proto3" json:"grounding_metadata,omitempty"` +} + +func (x *Candidate) Reset() { + *x = Candidate{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Candidate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Candidate) ProtoMessage() {} + +func (x *Candidate) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[10] + 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 Candidate.ProtoReflect.Descriptor instead. +func (*Candidate) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{10} +} + +func (x *Candidate) GetIndex() int32 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *Candidate) GetContent() *Content { + if x != nil { + return x.Content + } + return nil +} + +func (x *Candidate) GetFinishReason() Candidate_FinishReason { + if x != nil { + return x.FinishReason + } + return Candidate_FINISH_REASON_UNSPECIFIED +} + +func (x *Candidate) GetSafetyRatings() []*SafetyRating { + if x != nil { + return x.SafetyRatings + } + return nil +} + +func (x *Candidate) GetFinishMessage() string { + if x != nil && x.FinishMessage != nil { + return *x.FinishMessage + } + return "" +} + +func (x *Candidate) GetCitationMetadata() *CitationMetadata { + if x != nil { + return x.CitationMetadata + } + return nil +} + +func (x *Candidate) GetGroundingMetadata() *GroundingMetadata { + if x != nil { + return x.GroundingMetadata + } + return nil +} + +// Segment of the content. +type Segment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The index of a Part object within its parent Content object. + PartIndex int32 `protobuf:"varint,1,opt,name=part_index,json=partIndex,proto3" json:"part_index,omitempty"` + // Output only. Start index in the given Part, measured in bytes. Offset from + // the start of the Part, inclusive, starting at zero. + StartIndex int32 `protobuf:"varint,2,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"` + // Output only. End index in the given Part, measured in bytes. Offset from + // the start of the Part, exclusive, starting at zero. + EndIndex int32 `protobuf:"varint,3,opt,name=end_index,json=endIndex,proto3" json:"end_index,omitempty"` +} + +func (x *Segment) Reset() { + *x = Segment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Segment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Segment) ProtoMessage() {} + +func (x *Segment) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[11] + 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 Segment.ProtoReflect.Descriptor instead. +func (*Segment) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{11} +} + +func (x *Segment) GetPartIndex() int32 { + if x != nil { + return x.PartIndex + } + return 0 +} + +func (x *Segment) GetStartIndex() int32 { + if x != nil { + return x.StartIndex + } + return 0 +} + +func (x *Segment) GetEndIndex() int32 { + if x != nil { + return x.EndIndex + } + return 0 +} + +// Grounding attribution. +type GroundingAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Reference: + // + // *GroundingAttribution_Web_ + Reference isGroundingAttribution_Reference `protobuf_oneof:"reference"` + // Output only. Segment of the content this attribution belongs to. + Segment *Segment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"` + // Optional. Output only. Confidence score of the attribution. Ranges from 0 + // to 1. 1 is the most confident. + ConfidenceScore *float32 `protobuf:"fixed32,2,opt,name=confidence_score,json=confidenceScore,proto3,oneof" json:"confidence_score,omitempty"` +} + +func (x *GroundingAttribution) Reset() { + *x = GroundingAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroundingAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroundingAttribution) ProtoMessage() {} + +func (x *GroundingAttribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[12] + 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 GroundingAttribution.ProtoReflect.Descriptor instead. +func (*GroundingAttribution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{12} +} + +func (m *GroundingAttribution) GetReference() isGroundingAttribution_Reference { + if m != nil { + return m.Reference + } + return nil +} + +func (x *GroundingAttribution) GetWeb() *GroundingAttribution_Web { + if x, ok := x.GetReference().(*GroundingAttribution_Web_); ok { + return x.Web + } + return nil +} + +func (x *GroundingAttribution) GetSegment() *Segment { + if x != nil { + return x.Segment + } + return nil +} + +func (x *GroundingAttribution) GetConfidenceScore() float32 { + if x != nil && x.ConfidenceScore != nil { + return *x.ConfidenceScore + } + return 0 +} + +type isGroundingAttribution_Reference interface { + isGroundingAttribution_Reference() +} + +type GroundingAttribution_Web_ struct { + // Optional. Attribution from the web. + Web *GroundingAttribution_Web `protobuf:"bytes,3,opt,name=web,proto3,oneof"` +} + +func (*GroundingAttribution_Web_) isGroundingAttribution_Reference() {} + +// Metadata returned to client when grounding is enabled. +type GroundingMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Web search queries for the following-up web search. + WebSearchQueries []string `protobuf:"bytes,1,rep,name=web_search_queries,json=webSearchQueries,proto3" json:"web_search_queries,omitempty"` + // Optional. List of grounding attributions. + GroundingAttributions []*GroundingAttribution `protobuf:"bytes,2,rep,name=grounding_attributions,json=groundingAttributions,proto3" json:"grounding_attributions,omitempty"` +} + +func (x *GroundingMetadata) Reset() { + *x = GroundingMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroundingMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroundingMetadata) ProtoMessage() {} + +func (x *GroundingMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[13] + 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 GroundingMetadata.ProtoReflect.Descriptor instead. +func (*GroundingMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{13} +} + +func (x *GroundingMetadata) GetWebSearchQueries() []string { + if x != nil { + return x.WebSearchQueries + } + return nil +} + +func (x *GroundingMetadata) GetGroundingAttributions() []*GroundingAttribution { + if x != nil { + return x.GroundingAttributions + } + return nil +} + +// Attribution from the web. +type GroundingAttribution_Web struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. URI reference of the attribution. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Output only. Title of the attribution. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *GroundingAttribution_Web) Reset() { + *x = GroundingAttribution_Web{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroundingAttribution_Web) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroundingAttribution_Web) ProtoMessage() {} + +func (x *GroundingAttribution_Web) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[14] + 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 GroundingAttribution_Web.ProtoReflect.Descriptor instead. +func (*GroundingAttribution_Web) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *GroundingAttribution_Web) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *GroundingAttribution_Web) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_content_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x2b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 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, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x05, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x22, + 0xf8, 0x03, 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x4e, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12, + 0x66, 0x0a, 0x11, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x41, 0x0a, 0x04, 0x42, 0x6c, + 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4c, 0x0a, + 0x08, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x22, 0x91, 0x01, 0x0a, 0x0d, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, + 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 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, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x12, 0x3d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 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, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, + 0xdf, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x12, + 0x1d, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0e, + 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x22, 0xde, 0x02, 0x0a, 0x0d, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x65, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, + 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x24, 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, + 0x4d, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, + 0x0f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x04, 0x22, 0xc9, 0x02, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x65, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x50, 0x72, + 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0f, 0x48, 0x61, + 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, + 0x1c, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, + 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, + 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x61, + 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, + 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 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, 0x03, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0xb3, 0x05, 0x0a, 0x09, 0x43, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x62, 0x0a, + 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x5a, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, + 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, + 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, + 0x0a, 0x11, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x67, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6e, 0x0a, + 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x19, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x4f, + 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x75, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc8, 0x02, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x53, 0x0a, 0x03, 0x77, 0x65, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x48, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x36, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, + 0x03, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x37, 0x0a, 0x03, 0x57, 0x65, 0x62, 0x12, 0x15, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x5f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x16, 0x67, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, + 0xb4, 0x01, 0x0a, 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, + 0x5f, 0x48, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x01, 0x12, 0x23, + 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, + 0x44, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, + 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x48, 0x41, 0x52, 0x41, 0x53, 0x53, 0x4d, 0x45, 0x4e, 0x54, 0x10, + 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, + 0x52, 0x59, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x45, 0x58, 0x50, 0x4c, + 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x42, 0xe4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_mockgcp_cloud_aiplatform_v1beta1_content_proto_goTypes = []interface{}{ + (HarmCategory)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.HarmCategory + (SafetySetting_HarmBlockThreshold)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockThreshold + (SafetyRating_HarmProbability)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability + (Candidate_FinishReason)(0), // 3: mockgcp.cloud.aiplatform.v1beta1.Candidate.FinishReason + (*Content)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.Content + (*Part)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.Part + (*Blob)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.Blob + (*FileData)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.FileData + (*VideoMetadata)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.VideoMetadata + (*GenerationConfig)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.GenerationConfig + (*SafetySetting)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.SafetySetting + (*SafetyRating)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.SafetyRating + (*CitationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.CitationMetadata + (*Citation)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.Citation + (*Candidate)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.Candidate + (*Segment)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.Segment + (*GroundingAttribution)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution + (*GroundingMetadata)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GroundingMetadata + (*GroundingAttribution_Web)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution.Web + (*FunctionCall)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.FunctionCall + (*FunctionResponse)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.FunctionResponse + (*duration.Duration)(nil), // 21: google.protobuf.Duration + (*date.Date)(nil), // 22: google.type.Date +} +var file_mockgcp_cloud_aiplatform_v1beta1_content_proto_depIdxs = []int32{ + 5, // 0: mockgcp.cloud.aiplatform.v1beta1.Content.parts:type_name -> mockgcp.cloud.aiplatform.v1beta1.Part + 6, // 1: mockgcp.cloud.aiplatform.v1beta1.Part.inline_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.Blob + 7, // 2: mockgcp.cloud.aiplatform.v1beta1.Part.file_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.FileData + 19, // 3: mockgcp.cloud.aiplatform.v1beta1.Part.function_call:type_name -> mockgcp.cloud.aiplatform.v1beta1.FunctionCall + 20, // 4: mockgcp.cloud.aiplatform.v1beta1.Part.function_response:type_name -> mockgcp.cloud.aiplatform.v1beta1.FunctionResponse + 8, // 5: mockgcp.cloud.aiplatform.v1beta1.Part.video_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.VideoMetadata + 21, // 6: mockgcp.cloud.aiplatform.v1beta1.VideoMetadata.start_offset:type_name -> google.protobuf.Duration + 21, // 7: mockgcp.cloud.aiplatform.v1beta1.VideoMetadata.end_offset:type_name -> google.protobuf.Duration + 0, // 8: mockgcp.cloud.aiplatform.v1beta1.SafetySetting.category:type_name -> mockgcp.cloud.aiplatform.v1beta1.HarmCategory + 1, // 9: mockgcp.cloud.aiplatform.v1beta1.SafetySetting.threshold:type_name -> mockgcp.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockThreshold + 0, // 10: mockgcp.cloud.aiplatform.v1beta1.SafetyRating.category:type_name -> mockgcp.cloud.aiplatform.v1beta1.HarmCategory + 2, // 11: mockgcp.cloud.aiplatform.v1beta1.SafetyRating.probability:type_name -> mockgcp.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability + 13, // 12: mockgcp.cloud.aiplatform.v1beta1.CitationMetadata.citations:type_name -> mockgcp.cloud.aiplatform.v1beta1.Citation + 22, // 13: mockgcp.cloud.aiplatform.v1beta1.Citation.publication_date:type_name -> google.type.Date + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.Candidate.content:type_name -> mockgcp.cloud.aiplatform.v1beta1.Content + 3, // 15: mockgcp.cloud.aiplatform.v1beta1.Candidate.finish_reason:type_name -> mockgcp.cloud.aiplatform.v1beta1.Candidate.FinishReason + 11, // 16: mockgcp.cloud.aiplatform.v1beta1.Candidate.safety_ratings:type_name -> mockgcp.cloud.aiplatform.v1beta1.SafetyRating + 12, // 17: mockgcp.cloud.aiplatform.v1beta1.Candidate.citation_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.CitationMetadata + 17, // 18: mockgcp.cloud.aiplatform.v1beta1.Candidate.grounding_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GroundingMetadata + 18, // 19: mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution.web:type_name -> mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution.Web + 15, // 20: mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution.segment:type_name -> mockgcp.cloud.aiplatform.v1beta1.Segment + 16, // 21: mockgcp.cloud.aiplatform.v1beta1.GroundingMetadata.grounding_attributions:type_name -> mockgcp.cloud.aiplatform.v1beta1.GroundingAttribution + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_content_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_content_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_content_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Content); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Part); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Blob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VideoMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SafetySetting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SafetyRating); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CitationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Citation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Candidate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Segment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroundingAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroundingMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroundingAttribution_Web); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Part_Text)(nil), + (*Part_InlineData)(nil), + (*Part_FileData)(nil), + (*Part_FunctionCall)(nil), + (*Part_FunctionResponse)(nil), + (*Part_VideoMetadata)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*GroundingAttribution_Web_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDesc, + NumEnums: 4, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_content_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_content_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_content_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_content_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_content_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/context.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/context.pb.go new file mode 100644 index 0000000000..29a6fe1983 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/context.pb.go @@ -0,0 +1,345 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/context.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Instance of a general context. +type Context struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The resource name of the Context. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // User provided display name of the Context. + // May be up to 128 Unicode characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Contexts. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Context (System + // labels are excluded). + Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this Context was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Context was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. A list of resource names of Contexts that are parents of this + // Context. A Context may have at most 10 parent_contexts. + ParentContexts []string `protobuf:"bytes,12,rep,name=parent_contexts,json=parentContexts,proto3" json:"parent_contexts,omitempty"` + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaTitle string `protobuf:"bytes,13,opt,name=schema_title,json=schemaTitle,proto3" json:"schema_title,omitempty"` + // The version of the schema in schema_name to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaVersion string `protobuf:"bytes,14,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` + // Properties of the Context. + // Top level metadata keys' heading and trailing spaces will be trimmed. + // The size of this field should not exceed 200KB. + Metadata *_struct.Struct `protobuf:"bytes,15,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Description of the Context + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *Context) Reset() { + *x = Context{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_context_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Context) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Context) ProtoMessage() {} + +func (x *Context) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_context_proto_msgTypes[0] + 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 Context.ProtoReflect.Descriptor instead. +func (*Context) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescGZIP(), []int{0} +} + +func (x *Context) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Context) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Context) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Context) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Context) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Context) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Context) GetParentContexts() []string { + if x != nil { + return x.ParentContexts + } + return nil +} + +func (x *Context) GetSchemaTitle() string { + if x != nil { + return x.SchemaTitle + } + return "" +} + +func (x *Context) GetSchemaVersion() string { + if x != nil { + return x.SchemaVersion + } + return "" +} + +func (x *Context) GetMetadata() *_struct.Struct { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Context) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_context_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xe1, 0x05, + 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 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, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0f, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x82, 0x01, 0xea, + 0x41, 0x7f, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x5a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x7d, 0x42, 0xe4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_context_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_context_proto_goTypes = []interface{}{ + (*Context)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Context + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.Context.LabelsEntry + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 3: google.protobuf.Struct +} +var file_mockgcp_cloud_aiplatform_v1beta1_context_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.Context.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context.LabelsEntry + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.Context.create_time:type_name -> google.protobuf.Timestamp + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.Context.update_time:type_name -> google.protobuf.Timestamp + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.Context.metadata:type_name -> google.protobuf.Struct + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_context_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_context_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_context_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Context); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_context_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_context_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_context_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_context_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/custom_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/custom_job.pb.go new file mode 100644 index 0000000000..bf02754dd4 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/custom_job.pb.go @@ -0,0 +1,1258 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/custom_job.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a job that runs custom workloads such as a Docker container or a +// Python package. A CustomJob can have multiple worker pools and each worker +// pool can have its own machine and input spec. A CustomJob will be cleaned up +// once the job enters terminal state (failed or succeeded). +type CustomJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of a CustomJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the CustomJob. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Job spec. + JobSpec *CustomJobSpec `protobuf:"bytes,4,opt,name=job_spec,json=jobSpec,proto3" json:"job_spec,omitempty"` + // Output only. The detailed state of the job. + State JobState `protobuf:"varint,5,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Time when the CustomJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the CustomJob for the first time entered the + // `JOB_STATE_RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the CustomJob entered any of the following states: + // `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Time when the CustomJob was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Only populated when job's state is `JOB_STATE_FAILED` or + // `JOB_STATE_CANCELLED`. + Error *status.Status `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"` + // The labels with user-defined metadata to organize CustomJobs. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key options for a CustomJob. If this is set, + // then all resources created by the CustomJob will be encrypted with the + // provided encryption key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,12,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Output only. URIs for accessing [interactive + // shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // (one URI for each training node). Only available if + // [job_spec.enable_web_access][mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec.enable_web_access] + // is `true`. + // + // The keys are names of each node in the training job; for example, + // `workerpool0-0` for the primary node, `workerpool1-0` for the first node in + // the second worker pool, and `workerpool1-1` for the second node in the + // second worker pool. + // + // The values are the URIs for each node's interactive shell. + WebAccessUris map[string]string `protobuf:"bytes,16,rep,name=web_access_uris,json=webAccessUris,proto3" json:"web_access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *CustomJob) Reset() { + *x = CustomJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomJob) ProtoMessage() {} + +func (x *CustomJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[0] + 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 CustomJob.ProtoReflect.Descriptor instead. +func (*CustomJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{0} +} + +func (x *CustomJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CustomJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CustomJob) GetJobSpec() *CustomJobSpec { + if x != nil { + return x.JobSpec + } + return nil +} + +func (x *CustomJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *CustomJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *CustomJob) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *CustomJob) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *CustomJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *CustomJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *CustomJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *CustomJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *CustomJob) GetWebAccessUris() map[string]string { + if x != nil { + return x.WebAccessUris + } + return nil +} + +// Represents the spec of a CustomJob. +type CustomJobSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The ID of the PersistentResource in the same Project and Location + // which to run + // + // If this is specified, the job will be run on existing machines held by the + // PersistentResource instead of on-demand short-live machines. + // The network and CMEK configs on the job should be consistent with those on + // the PersistentResource, otherwise, the job will be rejected. + PersistentResourceId string `protobuf:"bytes,14,opt,name=persistent_resource_id,json=persistentResourceId,proto3" json:"persistent_resource_id,omitempty"` + // Required. The spec of the worker pools including machine type and Docker + // image. All worker pools except the first one are optional and can be + // skipped by providing an empty value. + WorkerPoolSpecs []*WorkerPoolSpec `protobuf:"bytes,1,rep,name=worker_pool_specs,json=workerPoolSpecs,proto3" json:"worker_pool_specs,omitempty"` + // Scheduling options for a CustomJob. + Scheduling *Scheduling `protobuf:"bytes,3,opt,name=scheduling,proto3" json:"scheduling,omitempty"` + // Specifies the service account for workload run-as account. + // Users submitting jobs must have act-as permission on this run-as account. + // If unspecified, the [Vertex AI Custom Code Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + // for the CustomJob's project is used. + ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Optional. The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which the Job + // should be peered. For example, `projects/12345/global/networks/myVPC`. + // [Format](/compute/docs/reference/rest/v1/networks/insert) + // is of the form `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in `12345`, and {network} is a + // network name. + // + // To specify this field, you must have already [configured VPC Network + // Peering for Vertex + // AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). + // + // If this field is left unspecified, the job is not peered with any network. + Network string `protobuf:"bytes,5,opt,name=network,proto3" json:"network,omitempty"` + // Optional. A list of names for the reserved ip ranges under the VPC network + // that can be used for this job. + // + // If set, we will deploy the job within the provided ip ranges. Otherwise, + // the job will be deployed to any ip ranges under the provided VPC + // network. + // + // Example: ['vertex-ai-ip-range']. + ReservedIpRanges []string `protobuf:"bytes,13,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` + // The Cloud Storage location to store the output of this CustomJob or + // HyperparameterTuningJob. For HyperparameterTuningJob, + // the baseOutputDirectory of + // each child CustomJob backing a Trial is set to a subdirectory of name + // [id][mockgcp.cloud.aiplatform.v1beta1.Trial.id] under its parent + // HyperparameterTuningJob's baseOutputDirectory. + // + // The following Vertex AI environment variables will be passed to + // containers or python modules when this field is set: + // + // For CustomJob: + // + // * AIP_MODEL_DIR = `/model/` + // * AIP_CHECKPOINT_DIR = `/checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `/logs/` + // + // For CustomJob backing a Trial of HyperparameterTuningJob: + // + // * AIP_MODEL_DIR = `//model/` + // * AIP_CHECKPOINT_DIR = `//checkpoints/` + // * AIP_TENSORBOARD_LOG_DIR = `//logs/` + BaseOutputDirectory *GcsDestination `protobuf:"bytes,6,opt,name=base_output_directory,json=baseOutputDirectory,proto3" json:"base_output_directory,omitempty"` + // The ID of the location to store protected artifacts. e.g. us-central1. + // Populate only when the location is different than CustomJob location. + // List of supported locations: + // https://cloud.google.com/vertex-ai/docs/general/locations + ProtectedArtifactLocationId string `protobuf:"bytes,19,opt,name=protected_artifact_location_id,json=protectedArtifactLocationId,proto3" json:"protected_artifact_location_id,omitempty"` + // Optional. The name of a Vertex AI + // [Tensorboard][mockgcp.cloud.aiplatform.v1beta1.Tensorboard] resource to + // which this CustomJob will upload Tensorboard logs. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard string `protobuf:"bytes,7,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` + // Optional. Whether you want Vertex AI to enable [interactive shell + // access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // to training containers. + // + // If set to `true`, you can access interactive shells at the URIs given + // by + // [CustomJob.web_access_uris][mockgcp.cloud.aiplatform.v1beta1.CustomJob.web_access_uris] + // or + // [Trial.web_access_uris][mockgcp.cloud.aiplatform.v1beta1.Trial.web_access_uris] + // (within + // [HyperparameterTuningJob.trials][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trials]). + EnableWebAccess bool `protobuf:"varint,10,opt,name=enable_web_access,json=enableWebAccess,proto3" json:"enable_web_access,omitempty"` + // Optional. Whether you want Vertex AI to enable access to the customized + // dashboard in training chief container. + // + // If set to `true`, you can access the dashboard at the URIs given + // by + // [CustomJob.web_access_uris][mockgcp.cloud.aiplatform.v1beta1.CustomJob.web_access_uris] + // or + // [Trial.web_access_uris][mockgcp.cloud.aiplatform.v1beta1.Trial.web_access_uris] + // (within + // [HyperparameterTuningJob.trials][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trials]). + EnableDashboardAccess bool `protobuf:"varint,16,opt,name=enable_dashboard_access,json=enableDashboardAccess,proto3" json:"enable_dashboard_access,omitempty"` + // Optional. The Experiment associated with this job. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` + Experiment string `protobuf:"bytes,17,opt,name=experiment,proto3" json:"experiment,omitempty"` + // Optional. The Experiment Run associated with this job. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` + ExperimentRun string `protobuf:"bytes,18,opt,name=experiment_run,json=experimentRun,proto3" json:"experiment_run,omitempty"` + // Optional. The name of the Model resources for which to generate a mapping + // to artifact URIs. Applicable only to some of the Google-provided custom + // jobs. Format: `projects/{project}/locations/{location}/models/{model}` + // + // In order to retrieve a specific version of the model, also provide + // the version ID or version alias. + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // + // If no version ID or alias is specified, the "default" version will be + // returned. The "default" version alias is created for the first version of + // the model, and can be moved to other versions later on. There will be + // exactly one default version. + Models []string `protobuf:"bytes,20,rep,name=models,proto3" json:"models,omitempty"` +} + +func (x *CustomJobSpec) Reset() { + *x = CustomJobSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomJobSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomJobSpec) ProtoMessage() {} + +func (x *CustomJobSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[1] + 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 CustomJobSpec.ProtoReflect.Descriptor instead. +func (*CustomJobSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{1} +} + +func (x *CustomJobSpec) GetPersistentResourceId() string { + if x != nil { + return x.PersistentResourceId + } + return "" +} + +func (x *CustomJobSpec) GetWorkerPoolSpecs() []*WorkerPoolSpec { + if x != nil { + return x.WorkerPoolSpecs + } + return nil +} + +func (x *CustomJobSpec) GetScheduling() *Scheduling { + if x != nil { + return x.Scheduling + } + return nil +} + +func (x *CustomJobSpec) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *CustomJobSpec) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *CustomJobSpec) GetReservedIpRanges() []string { + if x != nil { + return x.ReservedIpRanges + } + return nil +} + +func (x *CustomJobSpec) GetBaseOutputDirectory() *GcsDestination { + if x != nil { + return x.BaseOutputDirectory + } + return nil +} + +func (x *CustomJobSpec) GetProtectedArtifactLocationId() string { + if x != nil { + return x.ProtectedArtifactLocationId + } + return "" +} + +func (x *CustomJobSpec) GetTensorboard() string { + if x != nil { + return x.Tensorboard + } + return "" +} + +func (x *CustomJobSpec) GetEnableWebAccess() bool { + if x != nil { + return x.EnableWebAccess + } + return false +} + +func (x *CustomJobSpec) GetEnableDashboardAccess() bool { + if x != nil { + return x.EnableDashboardAccess + } + return false +} + +func (x *CustomJobSpec) GetExperiment() string { + if x != nil { + return x.Experiment + } + return "" +} + +func (x *CustomJobSpec) GetExperimentRun() string { + if x != nil { + return x.ExperimentRun + } + return "" +} + +func (x *CustomJobSpec) GetModels() []string { + if x != nil { + return x.Models + } + return nil +} + +// Represents the spec of a worker pool in a job. +type WorkerPoolSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The custom task to be executed in this worker pool. + // + // Types that are assignable to Task: + // + // *WorkerPoolSpec_ContainerSpec + // *WorkerPoolSpec_PythonPackageSpec + Task isWorkerPoolSpec_Task `protobuf_oneof:"task"` + // Optional. Immutable. The specification of a single machine. + MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Optional. The number of worker replicas to use for this worker pool. + ReplicaCount int64 `protobuf:"varint,2,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` + // Optional. List of NFS mount spec. + NfsMounts []*NfsMount `protobuf:"bytes,4,rep,name=nfs_mounts,json=nfsMounts,proto3" json:"nfs_mounts,omitempty"` + // Disk spec. + DiskSpec *DiskSpec `protobuf:"bytes,5,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"` +} + +func (x *WorkerPoolSpec) Reset() { + *x = WorkerPoolSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkerPoolSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerPoolSpec) ProtoMessage() {} + +func (x *WorkerPoolSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_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 WorkerPoolSpec.ProtoReflect.Descriptor instead. +func (*WorkerPoolSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{2} +} + +func (m *WorkerPoolSpec) GetTask() isWorkerPoolSpec_Task { + if m != nil { + return m.Task + } + return nil +} + +func (x *WorkerPoolSpec) GetContainerSpec() *ContainerSpec { + if x, ok := x.GetTask().(*WorkerPoolSpec_ContainerSpec); ok { + return x.ContainerSpec + } + return nil +} + +func (x *WorkerPoolSpec) GetPythonPackageSpec() *PythonPackageSpec { + if x, ok := x.GetTask().(*WorkerPoolSpec_PythonPackageSpec); ok { + return x.PythonPackageSpec + } + return nil +} + +func (x *WorkerPoolSpec) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *WorkerPoolSpec) GetReplicaCount() int64 { + if x != nil { + return x.ReplicaCount + } + return 0 +} + +func (x *WorkerPoolSpec) GetNfsMounts() []*NfsMount { + if x != nil { + return x.NfsMounts + } + return nil +} + +func (x *WorkerPoolSpec) GetDiskSpec() *DiskSpec { + if x != nil { + return x.DiskSpec + } + return nil +} + +type isWorkerPoolSpec_Task interface { + isWorkerPoolSpec_Task() +} + +type WorkerPoolSpec_ContainerSpec struct { + // The custom container task. + ContainerSpec *ContainerSpec `protobuf:"bytes,6,opt,name=container_spec,json=containerSpec,proto3,oneof"` +} + +type WorkerPoolSpec_PythonPackageSpec struct { + // The Python packaged task. + PythonPackageSpec *PythonPackageSpec `protobuf:"bytes,7,opt,name=python_package_spec,json=pythonPackageSpec,proto3,oneof"` +} + +func (*WorkerPoolSpec_ContainerSpec) isWorkerPoolSpec_Task() {} + +func (*WorkerPoolSpec_PythonPackageSpec) isWorkerPoolSpec_Task() {} + +// The spec of a Container. +type ContainerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The URI of a container image in the Container Registry that is to + // be run on each worker replica. + ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` + // The command to be invoked when the container is started. + // It overrides the entrypoint instruction in Dockerfile when provided. + Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"` + // The arguments to be passed when starting the container. + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + // Environment variables to be passed to the container. + // Maximum limit is 100. + Env []*EnvVar `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"` +} + +func (x *ContainerSpec) Reset() { + *x = ContainerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContainerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerSpec) ProtoMessage() {} + +func (x *ContainerSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[3] + 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 ContainerSpec.ProtoReflect.Descriptor instead. +func (*ContainerSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{3} +} + +func (x *ContainerSpec) GetImageUri() string { + if x != nil { + return x.ImageUri + } + return "" +} + +func (x *ContainerSpec) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +func (x *ContainerSpec) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ContainerSpec) GetEnv() []*EnvVar { + if x != nil { + return x.Env + } + return nil +} + +// The spec of a Python packaged code. +type PythonPackageSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The URI of a container image in Artifact Registry that will run + // the provided Python package. Vertex AI provides a wide range of executor + // images with pre-installed packages to meet users' various use cases. See + // the list of [pre-built containers for + // training](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + // You must use an image from this list. + ExecutorImageUri string `protobuf:"bytes,1,opt,name=executor_image_uri,json=executorImageUri,proto3" json:"executor_image_uri,omitempty"` + // Required. The Google Cloud Storage location of the Python package files + // which are the training program and its dependent packages. The maximum + // number of package URIs is 100. + PackageUris []string `protobuf:"bytes,2,rep,name=package_uris,json=packageUris,proto3" json:"package_uris,omitempty"` + // Required. The Python module name to run after installing the packages. + PythonModule string `protobuf:"bytes,3,opt,name=python_module,json=pythonModule,proto3" json:"python_module,omitempty"` + // Command line arguments to be passed to the Python task. + Args []string `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` + // Environment variables to be passed to the python module. + // Maximum limit is 100. + Env []*EnvVar `protobuf:"bytes,5,rep,name=env,proto3" json:"env,omitempty"` +} + +func (x *PythonPackageSpec) Reset() { + *x = PythonPackageSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PythonPackageSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PythonPackageSpec) ProtoMessage() {} + +func (x *PythonPackageSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[4] + 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 PythonPackageSpec.ProtoReflect.Descriptor instead. +func (*PythonPackageSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{4} +} + +func (x *PythonPackageSpec) GetExecutorImageUri() string { + if x != nil { + return x.ExecutorImageUri + } + return "" +} + +func (x *PythonPackageSpec) GetPackageUris() []string { + if x != nil { + return x.PackageUris + } + return nil +} + +func (x *PythonPackageSpec) GetPythonModule() string { + if x != nil { + return x.PythonModule + } + return "" +} + +func (x *PythonPackageSpec) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *PythonPackageSpec) GetEnv() []*EnvVar { + if x != nil { + return x.Env + } + return nil +} + +// All parameters related to queuing and scheduling of custom jobs. +type Scheduling struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The maximum job running time. The default is 7 days. + Timeout *duration.Duration `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Restarts the entire CustomJob if a worker gets restarted. + // This feature can be used by distributed training jobs that are not + // resilient to workers leaving and joining a job. + RestartJobOnWorkerRestart bool `protobuf:"varint,3,opt,name=restart_job_on_worker_restart,json=restartJobOnWorkerRestart,proto3" json:"restart_job_on_worker_restart,omitempty"` + // Optional. Indicates if the job should retry for internal errors after the + // job starts running. If true, overrides + // `Scheduling.restart_job_on_worker_restart` to false. + DisableRetries bool `protobuf:"varint,5,opt,name=disable_retries,json=disableRetries,proto3" json:"disable_retries,omitempty"` +} + +func (x *Scheduling) Reset() { + *x = Scheduling{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Scheduling) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scheduling) ProtoMessage() {} + +func (x *Scheduling) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[5] + 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 Scheduling.ProtoReflect.Descriptor instead. +func (*Scheduling) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP(), []int{5} +} + +func (x *Scheduling) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *Scheduling) GetRestartJobOnWorkerRestart() bool { + if x != nil { + return x.RestartJobOnWorkerRestart + } + return false +} + +func (x *Scheduling) GetDisableRetries() bool { + if x != nil { + return x.DisableRetries + } + return false +} + +var File_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x5f, + 0x76, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x08, 0x0a, 0x09, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x6a, 0x6f, 0x62, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6b, 0x0a, 0x0f, + 0x77, 0x65, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, + 0x6f, 0x62, 0x2e, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x69, 0xea, 0x41, 0x66, 0x0a, 0x23, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, + 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, + 0x7d, 0x22, 0x92, 0x08, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x6a, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x61, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, + 0x63, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, + 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x12, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x64, + 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, + 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x01, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, + 0x14, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0xf6, 0x03, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x0c, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, + 0x0a, 0x0a, 0x6e, 0x66, 0x73, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x47, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, + 0x9b, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x12, 0x3a, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0xe8, 0x01, + 0x0a, 0x11, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x28, + 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, + 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x03, + 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x76, + 0x56, 0x61, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0xb1, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 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, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, + 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, + 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, + 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, + 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0xe6, 0x01, 0x0a, + 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_goTypes = []interface{}{ + (*CustomJob)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CustomJob + (*CustomJobSpec)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + (*WorkerPoolSpec)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec + (*ContainerSpec)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ContainerSpec + (*PythonPackageSpec)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.PythonPackageSpec + (*Scheduling)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.Scheduling + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.CustomJob.LabelsEntry + nil, // 7: mockgcp.cloud.aiplatform.v1beta1.CustomJob.WebAccessUrisEntry + (JobState)(0), // 8: mockgcp.cloud.aiplatform.v1beta1.JobState + (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp + (*status.Status)(nil), // 10: google.rpc.Status + (*EncryptionSpec)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*GcsDestination)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*MachineSpec)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.MachineSpec + (*NfsMount)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.NfsMount + (*DiskSpec)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.DiskSpec + (*EnvVar)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.EnvVar + (*duration.Duration)(nil), // 17: google.protobuf.Duration +} +var file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.CustomJob.job_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + 8, // 1: mockgcp.cloud.aiplatform.v1beta1.CustomJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 9, // 2: mockgcp.cloud.aiplatform.v1beta1.CustomJob.create_time:type_name -> google.protobuf.Timestamp + 9, // 3: mockgcp.cloud.aiplatform.v1beta1.CustomJob.start_time:type_name -> google.protobuf.Timestamp + 9, // 4: mockgcp.cloud.aiplatform.v1beta1.CustomJob.end_time:type_name -> google.protobuf.Timestamp + 9, // 5: mockgcp.cloud.aiplatform.v1beta1.CustomJob.update_time:type_name -> google.protobuf.Timestamp + 10, // 6: mockgcp.cloud.aiplatform.v1beta1.CustomJob.error:type_name -> google.rpc.Status + 6, // 7: mockgcp.cloud.aiplatform.v1beta1.CustomJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJob.LabelsEntry + 11, // 8: mockgcp.cloud.aiplatform.v1beta1.CustomJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 7, // 9: mockgcp.cloud.aiplatform.v1beta1.CustomJob.web_access_uris:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJob.WebAccessUrisEntry + 2, // 10: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec.worker_pool_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec + 5, // 11: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec.scheduling:type_name -> mockgcp.cloud.aiplatform.v1beta1.Scheduling + 12, // 12: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec.base_output_directory:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 3, // 13: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec.container_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ContainerSpec + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec.python_package_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.PythonPackageSpec + 13, // 15: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec.machine_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.MachineSpec + 14, // 16: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec.nfs_mounts:type_name -> mockgcp.cloud.aiplatform.v1beta1.NfsMount + 15, // 17: mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec.disk_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.DiskSpec + 16, // 18: mockgcp.cloud.aiplatform.v1beta1.ContainerSpec.env:type_name -> mockgcp.cloud.aiplatform.v1beta1.EnvVar + 16, // 19: mockgcp.cloud.aiplatform.v1beta1.PythonPackageSpec.env:type_name -> mockgcp.cloud.aiplatform.v1beta1.EnvVar + 17, // 20: mockgcp.cloud.aiplatform.v1beta1.Scheduling.timeout:type_name -> google.protobuf.Duration + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomJobSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkerPoolSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContainerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PythonPackageSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Scheduling); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*WorkerPoolSpec_ContainerSpec)(nil), + (*WorkerPoolSpec_PythonPackageSpec)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_item.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_item.pb.go new file mode 100644 index 0000000000..5a0a6293d7 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_item.pb.go @@ -0,0 +1,284 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/data_item.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A piece of data in a Dataset. Could be an image, a video, a document or plain +// text. +type DataItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the DataItem. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this DataItem was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this DataItem was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The labels with user-defined metadata to organize your DataItems. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one DataItem(System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. The data that the DataItem represents (for example, an image or a + // text snippet). The schema of the payload is stored in the parent Dataset's + // [metadata + // schema's][mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] + // dataItemSchemaUri field. + Payload *_struct.Value `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DataItem) Reset() { + *x = DataItem{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataItem) ProtoMessage() {} + +func (x *DataItem) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_msgTypes[0] + 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 DataItem.ProtoReflect.Descriptor instead. +func (*DataItem) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescGZIP(), []int{0} +} + +func (x *DataItem) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataItem) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DataItem) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *DataItem) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *DataItem) GetPayload() *_struct.Value { + if x != nil { + return x.Payload + } + return nil +} + +func (x *DataItem) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_data_item_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, + 0x82, 0x04, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x35, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x79, 0xea, 0x41, 0x76, 0x0a, 0x22, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x50, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x7d, 0x42, 0xe5, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_goTypes = []interface{}{ + (*DataItem)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.DataItem + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.DataItem.LabelsEntry + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp + (*_struct.Value)(nil), // 3: google.protobuf.Value +} +var file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.DataItem.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.DataItem.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: mockgcp.cloud.aiplatform.v1beta1.DataItem.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataItem.LabelsEntry + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.DataItem.payload:type_name -> google.protobuf.Value + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_data_item_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataItem); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_data_item_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_labeling_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_labeling_job.pb.go new file mode 100644 index 0000000000..7fa271b826 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/data_labeling_job.pb.go @@ -0,0 +1,930 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/data_labeling_job.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + money "google.golang.org/genproto/googleapis/type/money" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Sample strategy decides which subset of DataItems should be selected for +// human labeling in every batch. +type SampleConfig_SampleStrategy int32 + +const ( + // Default will be treated as UNCERTAINTY. + SampleConfig_SAMPLE_STRATEGY_UNSPECIFIED SampleConfig_SampleStrategy = 0 + // Sample the most uncertain data to label. + SampleConfig_UNCERTAINTY SampleConfig_SampleStrategy = 1 +) + +// Enum value maps for SampleConfig_SampleStrategy. +var ( + SampleConfig_SampleStrategy_name = map[int32]string{ + 0: "SAMPLE_STRATEGY_UNSPECIFIED", + 1: "UNCERTAINTY", + } + SampleConfig_SampleStrategy_value = map[string]int32{ + "SAMPLE_STRATEGY_UNSPECIFIED": 0, + "UNCERTAINTY": 1, + } +) + +func (x SampleConfig_SampleStrategy) Enum() *SampleConfig_SampleStrategy { + p := new(SampleConfig_SampleStrategy) + *p = x + return p +} + +func (x SampleConfig_SampleStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SampleConfig_SampleStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_enumTypes[0].Descriptor() +} + +func (SampleConfig_SampleStrategy) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_enumTypes[0] +} + +func (x SampleConfig_SampleStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SampleConfig_SampleStrategy.Descriptor instead. +func (SampleConfig_SampleStrategy) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP(), []int{2, 0} +} + +// DataLabelingJob is used to trigger a human labeling job on unlabeled data +// from the following Dataset: +type DataLabelingJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the DataLabelingJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the DataLabelingJob. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + // Display name of a DataLabelingJob. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Dataset resource names. Right now we only support labeling from a + // single Dataset. Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Datasets []string `protobuf:"bytes,3,rep,name=datasets,proto3" json:"datasets,omitempty"` + // Labels to assign to annotations generated by this DataLabelingJob. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + AnnotationLabels map[string]string `protobuf:"bytes,12,rep,name=annotation_labels,json=annotationLabels,proto3" json:"annotation_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. Number of labelers to work on each DataItem. + LabelerCount int32 `protobuf:"varint,4,opt,name=labeler_count,json=labelerCount,proto3" json:"labeler_count,omitempty"` + // Required. The Google Cloud Storage location of the instruction pdf. This + // pdf is shared with labelers, and provides detailed description on how to + // label DataItems in Datasets. + InstructionUri string `protobuf:"bytes,5,opt,name=instruction_uri,json=instructionUri,proto3" json:"instruction_uri,omitempty"` + // Required. Points to a YAML file stored on Google Cloud Storage describing + // the config for a specific type of DataLabelingJob. The schema files that + // can be used here are found in the + // https://storage.googleapis.com/google-cloud-aiplatform bucket in the + // /schema/datalabelingjob/inputs/ folder. + InputsSchemaUri string `protobuf:"bytes,6,opt,name=inputs_schema_uri,json=inputsSchemaUri,proto3" json:"inputs_schema_uri,omitempty"` + // Required. Input config parameters for the DataLabelingJob. + Inputs *_struct.Value `protobuf:"bytes,7,opt,name=inputs,proto3" json:"inputs,omitempty"` + // Output only. The detailed state of the job. + State JobState `protobuf:"varint,8,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Current labeling job progress percentage scaled in interval + // [0, 100], indicating the percentage of DataItems that has been finished. + LabelingProgress int32 `protobuf:"varint,13,opt,name=labeling_progress,json=labelingProgress,proto3" json:"labeling_progress,omitempty"` + // Output only. Estimated cost(in US dollars) that the DataLabelingJob has + // incurred to date. + CurrentSpend *money.Money `protobuf:"bytes,14,opt,name=current_spend,json=currentSpend,proto3" json:"current_spend,omitempty"` + // Output only. Timestamp when this DataLabelingJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this DataLabelingJob was updated most recently. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. DataLabelingJob errors. It is only populated when job's state + // is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + Error *status.Status `protobuf:"bytes,22,opt,name=error,proto3" json:"error,omitempty"` + // The labels with user-defined metadata to organize your DataLabelingJobs. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each DataLabelingJob: + // + // - "aiplatform.googleapis.com/schema": output only, its value is the + // [inputs_schema][mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.inputs_schema_uri]'s + // title. + Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The SpecialistPools' resource names associated with this job. + SpecialistPools []string `protobuf:"bytes,16,rep,name=specialist_pools,json=specialistPools,proto3" json:"specialist_pools,omitempty"` + // Customer-managed encryption key spec for a DataLabelingJob. If set, this + // DataLabelingJob will be secured by this key. + // + // Note: Annotations created in the DataLabelingJob are associated with + // the EncryptionSpec of the Dataset they are exported to. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,20,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Parameters that configure the active learning pipeline. Active learning + // will label the data incrementally via several iterations. For every + // iteration, it will select a batch of data based on the sampling strategy. + ActiveLearningConfig *ActiveLearningConfig `protobuf:"bytes,21,opt,name=active_learning_config,json=activeLearningConfig,proto3" json:"active_learning_config,omitempty"` +} + +func (x *DataLabelingJob) Reset() { + *x = DataLabelingJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataLabelingJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataLabelingJob) ProtoMessage() {} + +func (x *DataLabelingJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[0] + 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 DataLabelingJob.ProtoReflect.Descriptor instead. +func (*DataLabelingJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP(), []int{0} +} + +func (x *DataLabelingJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataLabelingJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DataLabelingJob) GetDatasets() []string { + if x != nil { + return x.Datasets + } + return nil +} + +func (x *DataLabelingJob) GetAnnotationLabels() map[string]string { + if x != nil { + return x.AnnotationLabels + } + return nil +} + +func (x *DataLabelingJob) GetLabelerCount() int32 { + if x != nil { + return x.LabelerCount + } + return 0 +} + +func (x *DataLabelingJob) GetInstructionUri() string { + if x != nil { + return x.InstructionUri + } + return "" +} + +func (x *DataLabelingJob) GetInputsSchemaUri() string { + if x != nil { + return x.InputsSchemaUri + } + return "" +} + +func (x *DataLabelingJob) GetInputs() *_struct.Value { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *DataLabelingJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *DataLabelingJob) GetLabelingProgress() int32 { + if x != nil { + return x.LabelingProgress + } + return 0 +} + +func (x *DataLabelingJob) GetCurrentSpend() *money.Money { + if x != nil { + return x.CurrentSpend + } + return nil +} + +func (x *DataLabelingJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DataLabelingJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *DataLabelingJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *DataLabelingJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *DataLabelingJob) GetSpecialistPools() []string { + if x != nil { + return x.SpecialistPools + } + return nil +} + +func (x *DataLabelingJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *DataLabelingJob) GetActiveLearningConfig() *ActiveLearningConfig { + if x != nil { + return x.ActiveLearningConfig + } + return nil +} + +// Parameters that configure the active learning pipeline. Active learning will +// +// label the data incrementally by several iterations. For every iteration, it +// will select a batch of data based on the sampling strategy. +type ActiveLearningConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Max human labeling DataItems. The rest part will be labeled by + // machine. + // + // Types that are assignable to HumanLabelingBudget: + // + // *ActiveLearningConfig_MaxDataItemCount + // *ActiveLearningConfig_MaxDataItemPercentage + HumanLabelingBudget isActiveLearningConfig_HumanLabelingBudget `protobuf_oneof:"human_labeling_budget"` + // Active learning data sampling config. For every active learning labeling + // iteration, it will select a batch of data based on the sampling strategy. + SampleConfig *SampleConfig `protobuf:"bytes,3,opt,name=sample_config,json=sampleConfig,proto3" json:"sample_config,omitempty"` + // CMLE training config. For every active learning labeling iteration, system + // will train a machine learning model on CMLE. The trained model will be used + // by data sampling algorithm to select DataItems. + TrainingConfig *TrainingConfig `protobuf:"bytes,4,opt,name=training_config,json=trainingConfig,proto3" json:"training_config,omitempty"` +} + +func (x *ActiveLearningConfig) Reset() { + *x = ActiveLearningConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActiveLearningConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveLearningConfig) ProtoMessage() {} + +func (x *ActiveLearningConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[1] + 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 ActiveLearningConfig.ProtoReflect.Descriptor instead. +func (*ActiveLearningConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP(), []int{1} +} + +func (m *ActiveLearningConfig) GetHumanLabelingBudget() isActiveLearningConfig_HumanLabelingBudget { + if m != nil { + return m.HumanLabelingBudget + } + return nil +} + +func (x *ActiveLearningConfig) GetMaxDataItemCount() int64 { + if x, ok := x.GetHumanLabelingBudget().(*ActiveLearningConfig_MaxDataItemCount); ok { + return x.MaxDataItemCount + } + return 0 +} + +func (x *ActiveLearningConfig) GetMaxDataItemPercentage() int32 { + if x, ok := x.GetHumanLabelingBudget().(*ActiveLearningConfig_MaxDataItemPercentage); ok { + return x.MaxDataItemPercentage + } + return 0 +} + +func (x *ActiveLearningConfig) GetSampleConfig() *SampleConfig { + if x != nil { + return x.SampleConfig + } + return nil +} + +func (x *ActiveLearningConfig) GetTrainingConfig() *TrainingConfig { + if x != nil { + return x.TrainingConfig + } + return nil +} + +type isActiveLearningConfig_HumanLabelingBudget interface { + isActiveLearningConfig_HumanLabelingBudget() +} + +type ActiveLearningConfig_MaxDataItemCount struct { + // Max number of human labeled DataItems. + MaxDataItemCount int64 `protobuf:"varint,1,opt,name=max_data_item_count,json=maxDataItemCount,proto3,oneof"` +} + +type ActiveLearningConfig_MaxDataItemPercentage struct { + // Max percent of total DataItems for human labeling. + MaxDataItemPercentage int32 `protobuf:"varint,2,opt,name=max_data_item_percentage,json=maxDataItemPercentage,proto3,oneof"` +} + +func (*ActiveLearningConfig_MaxDataItemCount) isActiveLearningConfig_HumanLabelingBudget() {} + +func (*ActiveLearningConfig_MaxDataItemPercentage) isActiveLearningConfig_HumanLabelingBudget() {} + +// Active learning data sampling config. For every active learning labeling +// iteration, it will select a batch of data based on the sampling strategy. +type SampleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Decides sample size for the initial batch. initial_batch_sample_percentage + // is used by default. + // + // Types that are assignable to InitialBatchSampleSize: + // + // *SampleConfig_InitialBatchSamplePercentage + InitialBatchSampleSize isSampleConfig_InitialBatchSampleSize `protobuf_oneof:"initial_batch_sample_size"` + // Decides sample size for the following batches. + // following_batch_sample_percentage is used by default. + // + // Types that are assignable to FollowingBatchSampleSize: + // + // *SampleConfig_FollowingBatchSamplePercentage + FollowingBatchSampleSize isSampleConfig_FollowingBatchSampleSize `protobuf_oneof:"following_batch_sample_size"` + // Field to choose sampling strategy. Sampling strategy will decide which data + // should be selected for human labeling in every batch. + SampleStrategy SampleConfig_SampleStrategy `protobuf:"varint,5,opt,name=sample_strategy,json=sampleStrategy,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.SampleConfig_SampleStrategy" json:"sample_strategy,omitempty"` +} + +func (x *SampleConfig) Reset() { + *x = SampleConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SampleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SampleConfig) ProtoMessage() {} + +func (x *SampleConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_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 SampleConfig.ProtoReflect.Descriptor instead. +func (*SampleConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP(), []int{2} +} + +func (m *SampleConfig) GetInitialBatchSampleSize() isSampleConfig_InitialBatchSampleSize { + if m != nil { + return m.InitialBatchSampleSize + } + return nil +} + +func (x *SampleConfig) GetInitialBatchSamplePercentage() int32 { + if x, ok := x.GetInitialBatchSampleSize().(*SampleConfig_InitialBatchSamplePercentage); ok { + return x.InitialBatchSamplePercentage + } + return 0 +} + +func (m *SampleConfig) GetFollowingBatchSampleSize() isSampleConfig_FollowingBatchSampleSize { + if m != nil { + return m.FollowingBatchSampleSize + } + return nil +} + +func (x *SampleConfig) GetFollowingBatchSamplePercentage() int32 { + if x, ok := x.GetFollowingBatchSampleSize().(*SampleConfig_FollowingBatchSamplePercentage); ok { + return x.FollowingBatchSamplePercentage + } + return 0 +} + +func (x *SampleConfig) GetSampleStrategy() SampleConfig_SampleStrategy { + if x != nil { + return x.SampleStrategy + } + return SampleConfig_SAMPLE_STRATEGY_UNSPECIFIED +} + +type isSampleConfig_InitialBatchSampleSize interface { + isSampleConfig_InitialBatchSampleSize() +} + +type SampleConfig_InitialBatchSamplePercentage struct { + // The percentage of data needed to be labeled in the first batch. + InitialBatchSamplePercentage int32 `protobuf:"varint,1,opt,name=initial_batch_sample_percentage,json=initialBatchSamplePercentage,proto3,oneof"` +} + +func (*SampleConfig_InitialBatchSamplePercentage) isSampleConfig_InitialBatchSampleSize() {} + +type isSampleConfig_FollowingBatchSampleSize interface { + isSampleConfig_FollowingBatchSampleSize() +} + +type SampleConfig_FollowingBatchSamplePercentage struct { + // The percentage of data needed to be labeled in each following batch + // (except the first batch). + FollowingBatchSamplePercentage int32 `protobuf:"varint,3,opt,name=following_batch_sample_percentage,json=followingBatchSamplePercentage,proto3,oneof"` +} + +func (*SampleConfig_FollowingBatchSamplePercentage) isSampleConfig_FollowingBatchSampleSize() {} + +// CMLE training config. For every active learning labeling iteration, system +// will train a machine learning model on CMLE. The trained model will be used +// by data sampling algorithm to select DataItems. +type TrainingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The timeout hours for the CMLE training job, expressed in milli hours + // i.e. 1,000 value in this field means 1 hour. + TimeoutTrainingMilliHours int64 `protobuf:"varint,1,opt,name=timeout_training_milli_hours,json=timeoutTrainingMilliHours,proto3" json:"timeout_training_milli_hours,omitempty"` +} + +func (x *TrainingConfig) Reset() { + *x = TrainingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrainingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrainingConfig) ProtoMessage() {} + +func (x *TrainingConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[3] + 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 TrainingConfig.ProtoReflect.Descriptor instead. +func (*TrainingConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP(), []int{3} +} + +func (x *TrainingConfig) GetTimeoutTrainingMilliHours() int64 { + if x != nil { + return x.TimeoutTrainingMilliHours + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x0b, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x74, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x69, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x2f, 0x0a, + 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x33, + 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x0d, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x55, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, + 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6c, 0x0a, 0x16, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x7c, 0xea, 0x41, 0x79, 0x0a, 0x29, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xcb, 0x02, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x2f, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, + 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x39, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x0d, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x59, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x68, + 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, + 0x64, 0x67, 0x65, 0x74, 0x22, 0x8c, 0x03, 0x0a, 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, + 0x52, 0x1c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4b, + 0x0a, 0x21, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x1e, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x22, 0x42, 0x0a, 0x0e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, + 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x45, 0x52, 0x54, + 0x41, 0x49, 0x4e, 0x54, 0x59, 0x10, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x51, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, + 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x6c, 0x6c, + 0x69, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x14, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_goTypes = []interface{}{ + (SampleConfig_SampleStrategy)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.SampleConfig.SampleStrategy + (*DataLabelingJob)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + (*ActiveLearningConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ActiveLearningConfig + (*SampleConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.SampleConfig + (*TrainingConfig)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.TrainingConfig + nil, // 5: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.AnnotationLabelsEntry + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.LabelsEntry + (*_struct.Value)(nil), // 7: google.protobuf.Value + (JobState)(0), // 8: mockgcp.cloud.aiplatform.v1beta1.JobState + (*money.Money)(nil), // 9: google.type.Money + (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp + (*status.Status)(nil), // 11: google.rpc.Status + (*EncryptionSpec)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_depIdxs = []int32{ + 5, // 0: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.annotation_labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.AnnotationLabelsEntry + 7, // 1: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.inputs:type_name -> google.protobuf.Value + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 9, // 3: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.current_spend:type_name -> google.type.Money + 10, // 4: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.create_time:type_name -> google.protobuf.Timestamp + 10, // 5: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.update_time:type_name -> google.protobuf.Timestamp + 11, // 6: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.error:type_name -> google.rpc.Status + 6, // 7: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.LabelsEntry + 12, // 8: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 2, // 9: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob.active_learning_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ActiveLearningConfig + 3, // 10: mockgcp.cloud.aiplatform.v1beta1.ActiveLearningConfig.sample_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.SampleConfig + 4, // 11: mockgcp.cloud.aiplatform.v1beta1.ActiveLearningConfig.training_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.TrainingConfig + 0, // 12: mockgcp.cloud.aiplatform.v1beta1.SampleConfig.sample_strategy:type_name -> mockgcp.cloud.aiplatform.v1beta1.SampleConfig.SampleStrategy + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataLabelingJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActiveLearningConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SampleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrainingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ActiveLearningConfig_MaxDataItemCount)(nil), + (*ActiveLearningConfig_MaxDataItemPercentage)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*SampleConfig_InitialBatchSamplePercentage)(nil), + (*SampleConfig_FollowingBatchSamplePercentage)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset.pb.go new file mode 100644 index 0000000000..75cf6b4b3c --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset.pb.go @@ -0,0 +1,837 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/dataset.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A collection of DataItems and Annotations on them. +type Dataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Dataset. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the Dataset. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the Dataset. + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` + // Required. Points to a YAML file stored on Google Cloud Storage describing + // additional information about the Dataset. The schema is defined as an + // OpenAPI 3.0.2 Schema Object. The schema files that can be used here are + // found in gs://google-cloud-aiplatform/schema/dataset/metadata/. + MetadataSchemaUri string `protobuf:"bytes,3,opt,name=metadata_schema_uri,json=metadataSchemaUri,proto3" json:"metadata_schema_uri,omitempty"` + // Required. Additional information about the Dataset. + Metadata *_struct.Value `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Output only. The number of DataItems in this Dataset. Only apply for + // non-structured Dataset. + DataItemCount int64 `protobuf:"varint,10,opt,name=data_item_count,json=dataItemCount,proto3" json:"data_item_count,omitempty"` + // Output only. Timestamp when this Dataset was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Dataset was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Datasets. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Dataset (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for each Dataset: + // + // - "aiplatform.googleapis.com/dataset_metadata_schema": output only, its + // value is the + // [metadata_schema's][mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] + // title. + Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // All SavedQueries belong to the Dataset will be returned in List/Get + // Dataset response. The annotation_specs field + // will not be populated except for UI cases which will only use + // [annotation_spec_count][mockgcp.cloud.aiplatform.v1beta1.SavedQuery.annotation_spec_count]. + // In CreateDataset request, a SavedQuery is created together if + // this field is set, up to one SavedQuery can be set in CreateDatasetRequest. + // The SavedQuery should not contain any AnnotationSpec. + SavedQueries []*SavedQuery `protobuf:"bytes,9,rep,name=saved_queries,json=savedQueries,proto3" json:"saved_queries,omitempty"` + // Customer-managed encryption key spec for a Dataset. If set, this Dataset + // and all sub-resources of this Dataset will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,11,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Output only. The resource name of the Artifact that was created in + // MetadataStore when creating the Dataset. The Artifact resource name pattern + // is + // `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. + MetadataArtifact string `protobuf:"bytes,17,opt,name=metadata_artifact,json=metadataArtifact,proto3" json:"metadata_artifact,omitempty"` +} + +func (x *Dataset) Reset() { + *x = Dataset{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Dataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Dataset) ProtoMessage() {} + +func (x *Dataset) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[0] + 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 Dataset.ProtoReflect.Descriptor instead. +func (*Dataset) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescGZIP(), []int{0} +} + +func (x *Dataset) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Dataset) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Dataset) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Dataset) GetMetadataSchemaUri() string { + if x != nil { + return x.MetadataSchemaUri + } + return "" +} + +func (x *Dataset) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Dataset) GetDataItemCount() int64 { + if x != nil { + return x.DataItemCount + } + return 0 +} + +func (x *Dataset) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Dataset) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Dataset) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Dataset) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Dataset) GetSavedQueries() []*SavedQuery { + if x != nil { + return x.SavedQueries + } + return nil +} + +func (x *Dataset) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *Dataset) GetMetadataArtifact() string { + if x != nil { + return x.MetadataArtifact + } + return "" +} + +// Describes the location from where we import data into a Dataset, together +// with the labels that will be applied to the DataItems and the Annotations. +type ImportDataConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the input. + // + // Types that are assignable to Source: + // + // *ImportDataConfig_GcsSource + Source isImportDataConfig_Source `protobuf_oneof:"source"` + // Labels that will be applied to newly imported DataItems. If an identical + // DataItem as one being imported already exists in the Dataset, then these + // labels will be appended to these of the already existing one, and if labels + // with identical key is imported before, the old label value will be + // overwritten. If two DataItems are identical in the same import data + // operation, the labels will be combined and if key collision happens in this + // case, one of the values will be picked randomly. Two DataItems are + // considered identical if their content bytes are identical (e.g. image bytes + // or pdf bytes). + // These labels will be overridden by Annotation labels specified inside index + // file referenced by + // [import_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.import_schema_uri], + // e.g. jsonl file. + DataItemLabels map[string]string `protobuf:"bytes,2,rep,name=data_item_labels,json=dataItemLabels,proto3" json:"data_item_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Labels that will be applied to newly imported Annotations. If two + // Annotations are identical, one of them will be deduped. Two Annotations are + // considered identical if their + // [payload][mockgcp.cloud.aiplatform.v1beta1.Annotation.payload], + // [payload_schema_uri][mockgcp.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri] + // and all of their + // [labels][mockgcp.cloud.aiplatform.v1beta1.Annotation.labels] are the same. + // These labels will be overridden by Annotation labels specified inside index + // file referenced by + // [import_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.import_schema_uri], + // e.g. jsonl file. + AnnotationLabels map[string]string `protobuf:"bytes,3,rep,name=annotation_labels,json=annotationLabels,proto3" json:"annotation_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. Points to a YAML file stored on Google Cloud Storage describing + // the import format. Validation will be done against the schema. The schema + // is defined as an [OpenAPI 3.0.2 Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + ImportSchemaUri string `protobuf:"bytes,4,opt,name=import_schema_uri,json=importSchemaUri,proto3" json:"import_schema_uri,omitempty"` +} + +func (x *ImportDataConfig) Reset() { + *x = ImportDataConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportDataConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportDataConfig) ProtoMessage() {} + +func (x *ImportDataConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[1] + 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 ImportDataConfig.ProtoReflect.Descriptor instead. +func (*ImportDataConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescGZIP(), []int{1} +} + +func (m *ImportDataConfig) GetSource() isImportDataConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ImportDataConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*ImportDataConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ImportDataConfig) GetDataItemLabels() map[string]string { + if x != nil { + return x.DataItemLabels + } + return nil +} + +func (x *ImportDataConfig) GetAnnotationLabels() map[string]string { + if x != nil { + return x.AnnotationLabels + } + return nil +} + +func (x *ImportDataConfig) GetImportSchemaUri() string { + if x != nil { + return x.ImportSchemaUri + } + return "" +} + +type isImportDataConfig_Source interface { + isImportDataConfig_Source() +} + +type ImportDataConfig_GcsSource struct { + // The Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +func (*ImportDataConfig_GcsSource) isImportDataConfig_Source() {} + +// Describes what part of the Dataset is to be exported, the destination of +// the export and how to export. +type ExportDataConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The destination of the output. + // + // Types that are assignable to Destination: + // + // *ExportDataConfig_GcsDestination + Destination isExportDataConfig_Destination `protobuf_oneof:"destination"` + // The instructions how the export data should be split between the + // training, validation and test sets. + // + // Types that are assignable to Split: + // + // *ExportDataConfig_FractionSplit + Split isExportDataConfig_Split `protobuf_oneof:"split"` + // An expression for filtering what part of the Dataset is to be exported. + // Only Annotations that match this filter will be exported. The filter syntax + // is the same as in + // [ListAnnotations][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations]. + AnnotationsFilter string `protobuf:"bytes,2,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` +} + +func (x *ExportDataConfig) Reset() { + *x = ExportDataConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportDataConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportDataConfig) ProtoMessage() {} + +func (x *ExportDataConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_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 ExportDataConfig.ProtoReflect.Descriptor instead. +func (*ExportDataConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescGZIP(), []int{2} +} + +func (m *ExportDataConfig) GetDestination() isExportDataConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ExportDataConfig) GetGcsDestination() *GcsDestination { + if x, ok := x.GetDestination().(*ExportDataConfig_GcsDestination); ok { + return x.GcsDestination + } + return nil +} + +func (m *ExportDataConfig) GetSplit() isExportDataConfig_Split { + if m != nil { + return m.Split + } + return nil +} + +func (x *ExportDataConfig) GetFractionSplit() *ExportFractionSplit { + if x, ok := x.GetSplit().(*ExportDataConfig_FractionSplit); ok { + return x.FractionSplit + } + return nil +} + +func (x *ExportDataConfig) GetAnnotationsFilter() string { + if x != nil { + return x.AnnotationsFilter + } + return "" +} + +type isExportDataConfig_Destination interface { + isExportDataConfig_Destination() +} + +type ExportDataConfig_GcsDestination struct { + // The Google Cloud Storage location where the output is to be written to. + // In the given directory a new directory will be created with name: + // `export-data--` where + // timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export + // output will be written into that directory. Inside that directory, + // annotations with the same schema will be grouped into sub directories + // which are named with the corresponding annotations' schema title. Inside + // these sub directories, a schema.yaml will be created to describe the + // output format. + GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +func (*ExportDataConfig_GcsDestination) isExportDataConfig_Destination() {} + +type isExportDataConfig_Split interface { + isExportDataConfig_Split() +} + +type ExportDataConfig_FractionSplit struct { + // Split based on fractions defining the size of each set. + FractionSplit *ExportFractionSplit `protobuf:"bytes,5,opt,name=fraction_split,json=fractionSplit,proto3,oneof"` +} + +func (*ExportDataConfig_FractionSplit) isExportDataConfig_Split() {} + +// Assigns the input data to training, validation, and test sets as per the +// given fractions. Any of `training_fraction`, `validation_fraction` and +// `test_fraction` may optionally be provided, they must sum to up to 1. If the +// provided ones sum to less than 1, the remainder is assigned to sets as +// decided by Vertex AI. If none of the fractions are set, by default roughly +// 80% of data is used for training, 10% for validation, and 10% for test. +type ExportFractionSplit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fraction of the input data that is to be used to train the Model. + TrainingFraction float64 `protobuf:"fixed64,1,opt,name=training_fraction,json=trainingFraction,proto3" json:"training_fraction,omitempty"` + // The fraction of the input data that is to be used to validate the Model. + ValidationFraction float64 `protobuf:"fixed64,2,opt,name=validation_fraction,json=validationFraction,proto3" json:"validation_fraction,omitempty"` + // The fraction of the input data that is to be used to evaluate the Model. + TestFraction float64 `protobuf:"fixed64,3,opt,name=test_fraction,json=testFraction,proto3" json:"test_fraction,omitempty"` +} + +func (x *ExportFractionSplit) Reset() { + *x = ExportFractionSplit{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFractionSplit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFractionSplit) ProtoMessage() {} + +func (x *ExportFractionSplit) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[3] + 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 ExportFractionSplit.ProtoReflect.Descriptor instead. +func (*ExportFractionSplit) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescGZIP(), []int{3} +} + +func (x *ExportFractionSplit) GetTrainingFraction() float64 { + if x != nil { + return x.TrainingFraction + } + return 0 +} + +func (x *ExportFractionSplit) GetValidationFraction() float64 { + if x != nil { + return x.ValidationFraction + } + return 0 +} + +func (x *ExportFractionSplit) GetTestFraction() float64 { + if x != nil { + return x.TestFraction + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_dataset_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xed, 0x06, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x3a, 0x62, 0xea, 0x41, 0x5f, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x7d, 0x22, 0x8c, 0x04, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x70, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x49, + 0x74, 0x65, 0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x75, 0x0a, 0x11, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, + 0x69, 0x1a, 0x41, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x96, 0x02, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x6c, 0x69, 0x74, 0x48, 0x01, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x22, 0x98, 0x01, 0x0a, + 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x6c, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x46, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xe4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_goTypes = []interface{}{ + (*Dataset)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Dataset + (*ImportDataConfig)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig + (*ExportDataConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ExportDataConfig + (*ExportFractionSplit)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ExportFractionSplit + nil, // 4: mockgcp.cloud.aiplatform.v1beta1.Dataset.LabelsEntry + nil, // 5: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.DataItemLabelsEntry + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.AnnotationLabelsEntry + (*_struct.Value)(nil), // 7: google.protobuf.Value + (*timestamp.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*SavedQuery)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.SavedQuery + (*EncryptionSpec)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*GcsSource)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.GcsSource + (*GcsDestination)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.GcsDestination +} +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_depIdxs = []int32{ + 7, // 0: mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata:type_name -> google.protobuf.Value + 8, // 1: mockgcp.cloud.aiplatform.v1beta1.Dataset.create_time:type_name -> google.protobuf.Timestamp + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.Dataset.update_time:type_name -> google.protobuf.Timestamp + 4, // 3: mockgcp.cloud.aiplatform.v1beta1.Dataset.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Dataset.LabelsEntry + 9, // 4: mockgcp.cloud.aiplatform.v1beta1.Dataset.saved_queries:type_name -> mockgcp.cloud.aiplatform.v1beta1.SavedQuery + 10, // 5: mockgcp.cloud.aiplatform.v1beta1.Dataset.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 11, // 6: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 5, // 7: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.data_item_labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.DataItemLabelsEntry + 6, // 8: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.annotation_labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig.AnnotationLabelsEntry + 12, // 9: mockgcp.cloud.aiplatform.v1beta1.ExportDataConfig.gcs_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 3, // 10: mockgcp.cloud.aiplatform.v1beta1.ExportDataConfig.fraction_split:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportFractionSplit + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_dataset_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Dataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportDataConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportDataConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFractionSplit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ImportDataConfig_GcsSource)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*ExportDataConfig_GcsDestination)(nil), + (*ExportDataConfig_FractionSplit)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_dataset_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.go new file mode 100644 index 0000000000..53231e963d --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.go @@ -0,0 +1,3581 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/dataset_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [DatasetService.CreateDataset][mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDataset]. +type CreateDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the Dataset in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Dataset to create. + Dataset *Dataset `protobuf:"bytes,2,opt,name=dataset,proto3" json:"dataset,omitempty"` +} + +func (x *CreateDatasetRequest) Reset() { + *x = CreateDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetRequest) ProtoMessage() {} + +func (x *CreateDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[0] + 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 CreateDatasetRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateDatasetRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDatasetRequest) GetDataset() *Dataset { + if x != nil { + return x.Dataset + } + return nil +} + +// Runtime operation information for +// [DatasetService.CreateDataset][mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDataset]. +type CreateDatasetOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateDatasetOperationMetadata) Reset() { + *x = CreateDatasetOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetOperationMetadata) ProtoMessage() {} + +func (x *CreateDatasetOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[1] + 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 CreateDatasetOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateDatasetOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateDatasetOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [DatasetService.GetDataset][mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDataset]. +type GetDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Dataset resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *GetDatasetRequest) Reset() { + *x = GetDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDatasetRequest) ProtoMessage() {} + +func (x *GetDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_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 GetDatasetRequest.ProtoReflect.Descriptor instead. +func (*GetDatasetRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetDatasetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetDatasetRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Request message for +// [DatasetService.UpdateDataset][mockgcp.cloud.aiplatform.v1beta1.DatasetService.UpdateDataset]. +type UpdateDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Dataset which replaces the resource on the server. + Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Required. The update mask applies to the resource. + // For the `FieldMask` definition, see + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. Updatable fields: + // + // - `display_name` + // - `description` + // - `labels` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateDatasetRequest) Reset() { + *x = UpdateDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDatasetRequest) ProtoMessage() {} + +func (x *UpdateDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[3] + 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 UpdateDatasetRequest.ProtoReflect.Descriptor instead. +func (*UpdateDatasetRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateDatasetRequest) GetDataset() *Dataset { + if x != nil { + return x.Dataset + } + return nil +} + +func (x *UpdateDatasetRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [DatasetService.ListDatasets][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasets]. +type ListDatasetsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Dataset's parent resource. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // - `display_name`: supports = and != + // - `metadata_schema_uri`: supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // + // - `display_name` + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListDatasetsRequest) Reset() { + *x = ListDatasetsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDatasetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDatasetsRequest) ProtoMessage() {} + +func (x *ListDatasetsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[4] + 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 ListDatasetsRequest.ProtoReflect.Descriptor instead. +func (*ListDatasetsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListDatasetsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDatasetsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListDatasetsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDatasetsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListDatasetsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListDatasetsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [DatasetService.ListDatasets][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasets]. +type ListDatasetsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of Datasets that matches the specified filter in the request. + Datasets []*Dataset `protobuf:"bytes,1,rep,name=datasets,proto3" json:"datasets,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDatasetsResponse) Reset() { + *x = ListDatasetsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDatasetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDatasetsResponse) ProtoMessage() {} + +func (x *ListDatasetsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[5] + 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 ListDatasetsResponse.ProtoReflect.Descriptor instead. +func (*ListDatasetsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListDatasetsResponse) GetDatasets() []*Dataset { + if x != nil { + return x.Datasets + } + return nil +} + +func (x *ListDatasetsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [DatasetService.DeleteDataset][mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDataset]. +type DeleteDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset to delete. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteDatasetRequest) Reset() { + *x = DeleteDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDatasetRequest) ProtoMessage() {} + +func (x *DeleteDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_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 DeleteDatasetRequest.ProtoReflect.Descriptor instead. +func (*DeleteDatasetRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteDatasetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [DatasetService.ImportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ImportData]. +type ImportDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Dataset resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The desired input locations. The contents of all input locations + // will be imported in one batch. + ImportConfigs []*ImportDataConfig `protobuf:"bytes,2,rep,name=import_configs,json=importConfigs,proto3" json:"import_configs,omitempty"` +} + +func (x *ImportDataRequest) Reset() { + *x = ImportDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportDataRequest) ProtoMessage() {} + +func (x *ImportDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[7] + 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 ImportDataRequest.ProtoReflect.Descriptor instead. +func (*ImportDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ImportDataRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ImportDataRequest) GetImportConfigs() []*ImportDataConfig { + if x != nil { + return x.ImportConfigs + } + return nil +} + +// Response message for +// [DatasetService.ImportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ImportData]. +type ImportDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ImportDataResponse) Reset() { + *x = ImportDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportDataResponse) ProtoMessage() {} + +func (x *ImportDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_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 ImportDataResponse.ProtoReflect.Descriptor instead. +func (*ImportDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{8} +} + +// Runtime operation information for +// [DatasetService.ImportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ImportData]. +type ImportDataOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *ImportDataOperationMetadata) Reset() { + *x = ImportDataOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportDataOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportDataOperationMetadata) ProtoMessage() {} + +func (x *ImportDataOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[9] + 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 ImportDataOperationMetadata.ProtoReflect.Descriptor instead. +func (*ImportDataOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ImportDataOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [DatasetService.ExportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ExportData]. +type ExportDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Dataset resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The desired output location. + ExportConfig *ExportDataConfig `protobuf:"bytes,2,opt,name=export_config,json=exportConfig,proto3" json:"export_config,omitempty"` +} + +func (x *ExportDataRequest) Reset() { + *x = ExportDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportDataRequest) ProtoMessage() {} + +func (x *ExportDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[10] + 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 ExportDataRequest.ProtoReflect.Descriptor instead. +func (*ExportDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ExportDataRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportDataRequest) GetExportConfig() *ExportDataConfig { + if x != nil { + return x.ExportConfig + } + return nil +} + +// Response message for +// [DatasetService.ExportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ExportData]. +type ExportDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All of the files that are exported in this export operation. For custom + // code training export, only three (training, validation and test) + // Cloud Storage paths in wildcard format are populated + // (for example, gs://.../training-*). + ExportedFiles []string `protobuf:"bytes,1,rep,name=exported_files,json=exportedFiles,proto3" json:"exported_files,omitempty"` +} + +func (x *ExportDataResponse) Reset() { + *x = ExportDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportDataResponse) ProtoMessage() {} + +func (x *ExportDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[11] + 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 ExportDataResponse.ProtoReflect.Descriptor instead. +func (*ExportDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{11} +} + +func (x *ExportDataResponse) GetExportedFiles() []string { + if x != nil { + return x.ExportedFiles + } + return nil +} + +// Runtime operation information for +// [DatasetService.ExportData][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ExportData]. +type ExportDataOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // A Google Cloud Storage directory which path ends with '/'. The exported + // data is stored in the directory. + GcsOutputDirectory string `protobuf:"bytes,2,opt,name=gcs_output_directory,json=gcsOutputDirectory,proto3" json:"gcs_output_directory,omitempty"` +} + +func (x *ExportDataOperationMetadata) Reset() { + *x = ExportDataOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportDataOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportDataOperationMetadata) ProtoMessage() {} + +func (x *ExportDataOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[12] + 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 ExportDataOperationMetadata.ProtoReflect.Descriptor instead. +func (*ExportDataOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{12} +} + +func (x *ExportDataOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *ExportDataOperationMetadata) GetGcsOutputDirectory() string { + if x != nil { + return x.GcsOutputDirectory + } + return "" +} + +// Request message for +// [DatasetService.CreateDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion]. +type CreateDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Dataset resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The version to be created. The same CMEK policies with the + // original Dataset will be applied the dataset version. So here we don't need + // to specify the EncryptionSpecType here. + DatasetVersion *DatasetVersion `protobuf:"bytes,2,opt,name=dataset_version,json=datasetVersion,proto3" json:"dataset_version,omitempty"` +} + +func (x *CreateDatasetVersionRequest) Reset() { + *x = CreateDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetVersionRequest) ProtoMessage() {} + +func (x *CreateDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[13] + 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 CreateDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateDatasetVersionRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDatasetVersionRequest) GetDatasetVersion() *DatasetVersion { + if x != nil { + return x.DatasetVersion + } + return nil +} + +// Runtime operation information for +// [DatasetService.CreateDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion]. +type CreateDatasetVersionOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateDatasetVersionOperationMetadata) Reset() { + *x = CreateDatasetVersionOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetVersionOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetVersionOperationMetadata) ProtoMessage() {} + +func (x *CreateDatasetVersionOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[14] + 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 CreateDatasetVersionOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateDatasetVersionOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateDatasetVersionOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [DatasetService.DeleteDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDatasetVersion]. +type DeleteDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset version to delete. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteDatasetVersionRequest) Reset() { + *x = DeleteDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDatasetVersionRequest) ProtoMessage() {} + +func (x *DeleteDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_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 DeleteDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*DeleteDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteDatasetVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [DatasetService.GetDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDatasetVersion]. +type GetDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset version to delete. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *GetDatasetVersionRequest) Reset() { + *x = GetDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDatasetVersionRequest) ProtoMessage() {} + +func (x *GetDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[16] + 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 GetDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*GetDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{16} +} + +func (x *GetDatasetVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetDatasetVersionRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Request message for +// [DatasetService.ListDatasetVersions][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions]. +type ListDatasetVersionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset to list DatasetVersions from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListDatasetVersionsRequest) Reset() { + *x = ListDatasetVersionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDatasetVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDatasetVersionsRequest) ProtoMessage() {} + +func (x *ListDatasetVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[17] + 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 ListDatasetVersionsRequest.ProtoReflect.Descriptor instead. +func (*ListDatasetVersionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{17} +} + +func (x *ListDatasetVersionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDatasetVersionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListDatasetVersionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDatasetVersionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListDatasetVersionsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListDatasetVersionsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [DatasetService.ListDatasetVersions][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions]. +type ListDatasetVersionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of DatasetVersions that matches the specified filter in the request. + DatasetVersions []*DatasetVersion `protobuf:"bytes,1,rep,name=dataset_versions,json=datasetVersions,proto3" json:"dataset_versions,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDatasetVersionsResponse) Reset() { + *x = ListDatasetVersionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDatasetVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDatasetVersionsResponse) ProtoMessage() {} + +func (x *ListDatasetVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[18] + 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 ListDatasetVersionsResponse.ProtoReflect.Descriptor instead. +func (*ListDatasetVersionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{18} +} + +func (x *ListDatasetVersionsResponse) GetDatasetVersions() []*DatasetVersion { + if x != nil { + return x.DatasetVersions + } + return nil +} + +func (x *ListDatasetVersionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [DatasetService.RestoreDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion]. +type RestoreDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DatasetVersion resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RestoreDatasetVersionRequest) Reset() { + *x = RestoreDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreDatasetVersionRequest) ProtoMessage() {} + +func (x *RestoreDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[19] + 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 RestoreDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*RestoreDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{19} +} + +func (x *RestoreDatasetVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Runtime operation information for +// [DatasetService.RestoreDatasetVersion][mockgcp.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion]. +type RestoreDatasetVersionOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *RestoreDatasetVersionOperationMetadata) Reset() { + *x = RestoreDatasetVersionOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RestoreDatasetVersionOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreDatasetVersionOperationMetadata) ProtoMessage() {} + +func (x *RestoreDatasetVersionOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[20] + 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 RestoreDatasetVersionOperationMetadata.ProtoReflect.Descriptor instead. +func (*RestoreDatasetVersionOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{20} +} + +func (x *RestoreDatasetVersionOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [DatasetService.ListDataItems][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDataItems]. +type ListDataItemsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset to list DataItems from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListDataItemsRequest) Reset() { + *x = ListDataItemsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDataItemsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDataItemsRequest) ProtoMessage() {} + +func (x *ListDataItemsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[21] + 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 ListDataItemsRequest.ProtoReflect.Descriptor instead. +func (*ListDataItemsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ListDataItemsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDataItemsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListDataItemsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDataItemsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListDataItemsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListDataItemsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [DatasetService.ListDataItems][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDataItems]. +type ListDataItemsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of DataItems that matches the specified filter in the request. + DataItems []*DataItem `protobuf:"bytes,1,rep,name=data_items,json=dataItems,proto3" json:"data_items,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDataItemsResponse) Reset() { + *x = ListDataItemsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDataItemsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDataItemsResponse) ProtoMessage() {} + +func (x *ListDataItemsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[22] + 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 ListDataItemsResponse.ProtoReflect.Descriptor instead. +func (*ListDataItemsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{22} +} + +func (x *ListDataItemsResponse) GetDataItems() []*DataItem { + if x != nil { + return x.DataItems + } + return nil +} + +func (x *ListDataItemsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [DatasetService.SearchDataItems][mockgcp.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems]. +type SearchDataItemsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Order: + // + // *SearchDataItemsRequest_OrderByDataItem + // *SearchDataItemsRequest_OrderByAnnotation_ + Order isSearchDataItemsRequest_Order `protobuf_oneof:"order"` + // Required. The resource name of the Dataset from which to search DataItems. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // The resource name of a SavedQuery(annotation set in UI). + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` + // All of the search will be done in the context of this SavedQuery. + // + // Deprecated: Do not use. + SavedQuery string `protobuf:"bytes,2,opt,name=saved_query,json=savedQuery,proto3" json:"saved_query,omitempty"` + // The resource name of a DataLabelingJob. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + // If this field is set, all of the search will be done in the context of + // this DataLabelingJob. + DataLabelingJob string `protobuf:"bytes,3,opt,name=data_labeling_job,json=dataLabelingJob,proto3" json:"data_labeling_job,omitempty"` + // An expression for filtering the DataItem that will be returned. + // + // - `data_item_id` - for = or !=. + // - `labeled` - for = or !=. + // - `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that + // have at least one annotation with annotation_spec_id = + // `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob. + // + // For example: + // + // * `data_item=1` + // * `has_annotation(5)` + DataItemFilter string `protobuf:"bytes,4,opt,name=data_item_filter,json=dataItemFilter,proto3" json:"data_item_filter,omitempty"` + // An expression for filtering the Annotations that will be returned per + // DataItem. + // - `annotation_spec_id` - for = or !=. + // + // Deprecated: Do not use. + AnnotationsFilter string `protobuf:"bytes,5,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` + // An expression that specifies what Annotations will be returned per + // DataItem. Annotations satisfied either of the conditions will be returned. + // - `annotation_spec_id` - for = or !=. + // + // Must specify `saved_query_id=` - saved query id that annotations should + // belong to. + AnnotationFilters []string `protobuf:"bytes,11,rep,name=annotation_filters,json=annotationFilters,proto3" json:"annotation_filters,omitempty"` + // Mask specifying which fields of + // [DataItemView][mockgcp.cloud.aiplatform.v1beta1.DataItemView] to read. + FieldMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"` + // If set, only up to this many of Annotations will be returned per + // DataItemView. The maximum value is 1000. If not set, the maximum value will + // be used. + AnnotationsLimit int32 `protobuf:"varint,7,opt,name=annotations_limit,json=annotationsLimit,proto3" json:"annotations_limit,omitempty"` + // Requested page size. Server may return fewer results than requested. + // Default and maximum page size is 100. + PageSize int32 `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Deprecated: Do not use. + OrderBy string `protobuf:"bytes,9,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // A token identifying a page of results for the server to return + // Typically obtained via + // [SearchDataItemsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsResponse.next_page_token] + // of the previous + // [DatasetService.SearchDataItems][mockgcp.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems] + // call. + PageToken string `protobuf:"bytes,10,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *SearchDataItemsRequest) Reset() { + *x = SearchDataItemsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchDataItemsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchDataItemsRequest) ProtoMessage() {} + +func (x *SearchDataItemsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[23] + 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 SearchDataItemsRequest.ProtoReflect.Descriptor instead. +func (*SearchDataItemsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{23} +} + +func (m *SearchDataItemsRequest) GetOrder() isSearchDataItemsRequest_Order { + if m != nil { + return m.Order + } + return nil +} + +func (x *SearchDataItemsRequest) GetOrderByDataItem() string { + if x, ok := x.GetOrder().(*SearchDataItemsRequest_OrderByDataItem); ok { + return x.OrderByDataItem + } + return "" +} + +func (x *SearchDataItemsRequest) GetOrderByAnnotation() *SearchDataItemsRequest_OrderByAnnotation { + if x, ok := x.GetOrder().(*SearchDataItemsRequest_OrderByAnnotation_); ok { + return x.OrderByAnnotation + } + return nil +} + +func (x *SearchDataItemsRequest) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +// Deprecated: Do not use. +func (x *SearchDataItemsRequest) GetSavedQuery() string { + if x != nil { + return x.SavedQuery + } + return "" +} + +func (x *SearchDataItemsRequest) GetDataLabelingJob() string { + if x != nil { + return x.DataLabelingJob + } + return "" +} + +func (x *SearchDataItemsRequest) GetDataItemFilter() string { + if x != nil { + return x.DataItemFilter + } + return "" +} + +// Deprecated: Do not use. +func (x *SearchDataItemsRequest) GetAnnotationsFilter() string { + if x != nil { + return x.AnnotationsFilter + } + return "" +} + +func (x *SearchDataItemsRequest) GetAnnotationFilters() []string { + if x != nil { + return x.AnnotationFilters + } + return nil +} + +func (x *SearchDataItemsRequest) GetFieldMask() *field_mask.FieldMask { + if x != nil { + return x.FieldMask + } + return nil +} + +func (x *SearchDataItemsRequest) GetAnnotationsLimit() int32 { + if x != nil { + return x.AnnotationsLimit + } + return 0 +} + +func (x *SearchDataItemsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +// Deprecated: Do not use. +func (x *SearchDataItemsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *SearchDataItemsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +type isSearchDataItemsRequest_Order interface { + isSearchDataItemsRequest_Order() +} + +type SearchDataItemsRequest_OrderByDataItem struct { + // A comma-separated list of data item fields to order by, sorted in + // ascending order. Use "desc" after a field name for descending. + OrderByDataItem string `protobuf:"bytes,12,opt,name=order_by_data_item,json=orderByDataItem,proto3,oneof"` +} + +type SearchDataItemsRequest_OrderByAnnotation_ struct { + // Expression that allows ranking results based on annotation's property. + OrderByAnnotation *SearchDataItemsRequest_OrderByAnnotation `protobuf:"bytes,13,opt,name=order_by_annotation,json=orderByAnnotation,proto3,oneof"` +} + +func (*SearchDataItemsRequest_OrderByDataItem) isSearchDataItemsRequest_Order() {} + +func (*SearchDataItemsRequest_OrderByAnnotation_) isSearchDataItemsRequest_Order() {} + +// Response message for +// [DatasetService.SearchDataItems][mockgcp.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems]. +type SearchDataItemsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DataItemViews read. + DataItemViews []*DataItemView `protobuf:"bytes,1,rep,name=data_item_views,json=dataItemViews,proto3" json:"data_item_views,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [SearchDataItemsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchDataItemsResponse) Reset() { + *x = SearchDataItemsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchDataItemsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchDataItemsResponse) ProtoMessage() {} + +func (x *SearchDataItemsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[24] + 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 SearchDataItemsResponse.ProtoReflect.Descriptor instead. +func (*SearchDataItemsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{24} +} + +func (x *SearchDataItemsResponse) GetDataItemViews() []*DataItemView { + if x != nil { + return x.DataItemViews + } + return nil +} + +func (x *SearchDataItemsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// A container for a single DataItem and Annotations on it. +type DataItemView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DataItem. + DataItem *DataItem `protobuf:"bytes,1,opt,name=data_item,json=dataItem,proto3" json:"data_item,omitempty"` + // The Annotations on the DataItem. If too many Annotations should be returned + // for the DataItem, this field will be truncated per annotations_limit in + // request. If it was, then the has_truncated_annotations will be set to true. + Annotations []*Annotation `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` + // True if and only if the Annotations field has been truncated. It happens if + // more Annotations for this DataItem met the request's annotation_filter than + // are allowed to be returned by annotations_limit. + // Note that if Annotations field is not being returned due to field mask, + // then this field will not be set to true no matter how many Annotations are + // there. + HasTruncatedAnnotations bool `protobuf:"varint,3,opt,name=has_truncated_annotations,json=hasTruncatedAnnotations,proto3" json:"has_truncated_annotations,omitempty"` +} + +func (x *DataItemView) Reset() { + *x = DataItemView{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataItemView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataItemView) ProtoMessage() {} + +func (x *DataItemView) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[25] + 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 DataItemView.ProtoReflect.Descriptor instead. +func (*DataItemView) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{25} +} + +func (x *DataItemView) GetDataItem() *DataItem { + if x != nil { + return x.DataItem + } + return nil +} + +func (x *DataItemView) GetAnnotations() []*Annotation { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *DataItemView) GetHasTruncatedAnnotations() bool { + if x != nil { + return x.HasTruncatedAnnotations + } + return false +} + +// Request message for +// [DatasetService.ListSavedQueries][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries]. +type ListSavedQueriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Dataset to list SavedQueries from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListSavedQueriesRequest) Reset() { + *x = ListSavedQueriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSavedQueriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSavedQueriesRequest) ProtoMessage() {} + +func (x *ListSavedQueriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[26] + 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 ListSavedQueriesRequest.ProtoReflect.Descriptor instead. +func (*ListSavedQueriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{26} +} + +func (x *ListSavedQueriesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListSavedQueriesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListSavedQueriesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListSavedQueriesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListSavedQueriesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListSavedQueriesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [DatasetService.ListSavedQueries][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries]. +type ListSavedQueriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of SavedQueries that match the specified filter in the request. + SavedQueries []*SavedQuery `protobuf:"bytes,1,rep,name=saved_queries,json=savedQueries,proto3" json:"saved_queries,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListSavedQueriesResponse) Reset() { + *x = ListSavedQueriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSavedQueriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSavedQueriesResponse) ProtoMessage() {} + +func (x *ListSavedQueriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[27] + 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 ListSavedQueriesResponse.ProtoReflect.Descriptor instead. +func (*ListSavedQueriesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{27} +} + +func (x *ListSavedQueriesResponse) GetSavedQueries() []*SavedQuery { + if x != nil { + return x.SavedQueries + } + return nil +} + +func (x *ListSavedQueriesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [DatasetService.DeleteSavedQuery][mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteSavedQuery]. +type DeleteSavedQueryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the SavedQuery to delete. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteSavedQueryRequest) Reset() { + *x = DeleteSavedQueryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSavedQueryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSavedQueryRequest) ProtoMessage() {} + +func (x *DeleteSavedQueryRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[28] + 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 DeleteSavedQueryRequest.ProtoReflect.Descriptor instead. +func (*DeleteSavedQueryRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{28} +} + +func (x *DeleteSavedQueryRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [DatasetService.GetAnnotationSpec][mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetAnnotationSpec]. +type GetAnnotationSpecRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the AnnotationSpec resource. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *GetAnnotationSpecRequest) Reset() { + *x = GetAnnotationSpecRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAnnotationSpecRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAnnotationSpecRequest) ProtoMessage() {} + +func (x *GetAnnotationSpecRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[29] + 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 GetAnnotationSpecRequest.ProtoReflect.Descriptor instead. +func (*GetAnnotationSpecRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{29} +} + +func (x *GetAnnotationSpecRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetAnnotationSpecRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Request message for +// [DatasetService.ListAnnotations][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations]. +type ListAnnotationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the DataItem to list Annotations from. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListAnnotationsRequest) Reset() { + *x = ListAnnotationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAnnotationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAnnotationsRequest) ProtoMessage() {} + +func (x *ListAnnotationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[30] + 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 ListAnnotationsRequest.ProtoReflect.Descriptor instead. +func (*ListAnnotationsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListAnnotationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAnnotationsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListAnnotationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAnnotationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListAnnotationsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListAnnotationsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [DatasetService.ListAnnotations][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations]. +type ListAnnotationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of Annotations that matches the specified filter in the request. + Annotations []*Annotation `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAnnotationsResponse) Reset() { + *x = ListAnnotationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAnnotationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAnnotationsResponse) ProtoMessage() {} + +func (x *ListAnnotationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[31] + 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 ListAnnotationsResponse.ProtoReflect.Descriptor instead. +func (*ListAnnotationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{31} +} + +func (x *ListAnnotationsResponse) GetAnnotations() []*Annotation { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *ListAnnotationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Expression that allows ranking results based on annotation's property. +type SearchDataItemsRequest_OrderByAnnotation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Saved query of the Annotation. Only Annotations belong to this + // saved query will be considered for ordering. + SavedQuery string `protobuf:"bytes,1,opt,name=saved_query,json=savedQuery,proto3" json:"saved_query,omitempty"` + // A comma-separated list of annotation fields to order by, sorted in + // ascending order. Use "desc" after a field name for descending. Must also + // specify saved_query. + OrderBy string `protobuf:"bytes,2,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *SearchDataItemsRequest_OrderByAnnotation) Reset() { + *x = SearchDataItemsRequest_OrderByAnnotation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchDataItemsRequest_OrderByAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchDataItemsRequest_OrderByAnnotation) ProtoMessage() {} + +func (x *SearchDataItemsRequest_OrderByAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[32] + 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 SearchDataItemsRequest_OrderByAnnotation.ProtoReflect.Descriptor instead. +func (*SearchDataItemsRequest_OrderByAnnotation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP(), []int{23, 0} +} + +func (x *SearchDataItemsRequest_OrderByAnnotation) GetSavedQuery() string { + if x != nil { + return x.SavedQuery + } + return "" +} + +func (x *SearchDataItemsRequest_OrderByAnnotation) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 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, 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, 0x22, 0xa3, 0x01, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8b, 0x01, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, + 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, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa2, 0x01, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x80, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, + 0x03, 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, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 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, 0x55, 0x0a, 0x14, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, + 0x1b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xb0, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x63, + 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x67, 0x63, 0x73, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xc0, 0x01, 0x0a, + 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x5e, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x8e, 0x01, 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x63, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0xa0, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 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, 0x64, 0x0a, 0x1c, 0x52, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, + 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x8f, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x81, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x49, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x09, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 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, 0xb2, 0x06, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, + 0x12, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x7c, 0x0a, 0x13, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, + 0x4c, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x18, 0x01, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, + 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, + 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x54, 0x0a, 0x11, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, + 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x42, 0x07, + 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x69, 0x65, 0x77, 0x52, 0x0d, 0x64, 0x61, + 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x69, 0x65, 0x77, 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, 0xe3, 0x01, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x47, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4e, 0x0a, + 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, + 0x19, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x17, 0x68, 0x61, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0x95, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 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, 0x5b, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x84, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 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, 0x32, 0x90, 0x21, 0x0a, + 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xe7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 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, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, + 0x22, 0x31, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x73, 0x3a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0xda, 0x41, 0x0e, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0xca, 0x41, 0x29, + 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xae, 0x01, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, + 0x12, 0x31, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd4, 0x01, 0x0a, 0x0d, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, + 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x32, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0xda, 0x41, 0x13, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x12, 0xc1, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xdb, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 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, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, + 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, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, + 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x6e, + 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0xca, 0x41, 0x31, 0x0a, 0x12, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xef, 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 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, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, + 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x31, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa6, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, + 0xaf, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, + 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xca, 0x41, 0x37, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xfc, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 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, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x45, 0x2a, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, + 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xd5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x8e, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x95, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x38, 0x0a, 0x0e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd4, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x38, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0xdc, + 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x69, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf1, 0x01, + 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 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, 0x82, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xd5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe4, 0x01, 0x0a, 0x0f, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, + 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_goTypes = []interface{}{ + (*CreateDatasetRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetRequest + (*CreateDatasetOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetOperationMetadata + (*GetDatasetRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetDatasetRequest + (*UpdateDatasetRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateDatasetRequest + (*ListDatasetsRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListDatasetsRequest + (*ListDatasetsResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ListDatasetsResponse + (*DeleteDatasetRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeleteDatasetRequest + (*ImportDataRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ImportDataRequest + (*ImportDataResponse)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ImportDataResponse + (*ImportDataOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ImportDataOperationMetadata + (*ExportDataRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ExportDataRequest + (*ExportDataResponse)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.ExportDataResponse + (*ExportDataOperationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.ExportDataOperationMetadata + (*CreateDatasetVersionRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetVersionRequest + (*CreateDatasetVersionOperationMetadata)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetVersionOperationMetadata + (*DeleteDatasetVersionRequest)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.DeleteDatasetVersionRequest + (*GetDatasetVersionRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.GetDatasetVersionRequest + (*ListDatasetVersionsRequest)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsRequest + (*ListDatasetVersionsResponse)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsResponse + (*RestoreDatasetVersionRequest)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.RestoreDatasetVersionRequest + (*RestoreDatasetVersionOperationMetadata)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.RestoreDatasetVersionOperationMetadata + (*ListDataItemsRequest)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ListDataItemsRequest + (*ListDataItemsResponse)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.ListDataItemsResponse + (*SearchDataItemsRequest)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest + (*SearchDataItemsResponse)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsResponse + (*DataItemView)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.DataItemView + (*ListSavedQueriesRequest)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesRequest + (*ListSavedQueriesResponse)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesResponse + (*DeleteSavedQueryRequest)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.DeleteSavedQueryRequest + (*GetAnnotationSpecRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.GetAnnotationSpecRequest + (*ListAnnotationsRequest)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsRequest + (*ListAnnotationsResponse)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsResponse + (*SearchDataItemsRequest_OrderByAnnotation)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest.OrderByAnnotation + (*Dataset)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.Dataset + (*GenericOperationMetadata)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 35: google.protobuf.FieldMask + (*ImportDataConfig)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig + (*ExportDataConfig)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.ExportDataConfig + (*DatasetVersion)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.DatasetVersion + (*DataItem)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.DataItem + (*Annotation)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.Annotation + (*SavedQuery)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.SavedQuery + (*longrunningpb.Operation)(nil), // 42: google.longrunning.Operation + (*AnnotationSpec)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_depIdxs = []int32{ + 33, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetRequest.dataset:type_name -> mockgcp.cloud.aiplatform.v1beta1.Dataset + 34, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 35, // 2: mockgcp.cloud.aiplatform.v1beta1.GetDatasetRequest.read_mask:type_name -> google.protobuf.FieldMask + 33, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateDatasetRequest.dataset:type_name -> mockgcp.cloud.aiplatform.v1beta1.Dataset + 35, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateDatasetRequest.update_mask:type_name -> google.protobuf.FieldMask + 35, // 5: mockgcp.cloud.aiplatform.v1beta1.ListDatasetsRequest.read_mask:type_name -> google.protobuf.FieldMask + 33, // 6: mockgcp.cloud.aiplatform.v1beta1.ListDatasetsResponse.datasets:type_name -> mockgcp.cloud.aiplatform.v1beta1.Dataset + 36, // 7: mockgcp.cloud.aiplatform.v1beta1.ImportDataRequest.import_configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ImportDataConfig + 34, // 8: mockgcp.cloud.aiplatform.v1beta1.ImportDataOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 37, // 9: mockgcp.cloud.aiplatform.v1beta1.ExportDataRequest.export_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportDataConfig + 34, // 10: mockgcp.cloud.aiplatform.v1beta1.ExportDataOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 38, // 11: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetVersionRequest.dataset_version:type_name -> mockgcp.cloud.aiplatform.v1beta1.DatasetVersion + 34, // 12: mockgcp.cloud.aiplatform.v1beta1.CreateDatasetVersionOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 35, // 13: mockgcp.cloud.aiplatform.v1beta1.GetDatasetVersionRequest.read_mask:type_name -> google.protobuf.FieldMask + 35, // 14: mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsRequest.read_mask:type_name -> google.protobuf.FieldMask + 38, // 15: mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsResponse.dataset_versions:type_name -> mockgcp.cloud.aiplatform.v1beta1.DatasetVersion + 34, // 16: mockgcp.cloud.aiplatform.v1beta1.RestoreDatasetVersionOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 35, // 17: mockgcp.cloud.aiplatform.v1beta1.ListDataItemsRequest.read_mask:type_name -> google.protobuf.FieldMask + 39, // 18: mockgcp.cloud.aiplatform.v1beta1.ListDataItemsResponse.data_items:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataItem + 32, // 19: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest.order_by_annotation:type_name -> mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest.OrderByAnnotation + 35, // 20: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest.field_mask:type_name -> google.protobuf.FieldMask + 25, // 21: mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsResponse.data_item_views:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataItemView + 39, // 22: mockgcp.cloud.aiplatform.v1beta1.DataItemView.data_item:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataItem + 40, // 23: mockgcp.cloud.aiplatform.v1beta1.DataItemView.annotations:type_name -> mockgcp.cloud.aiplatform.v1beta1.Annotation + 35, // 24: mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesRequest.read_mask:type_name -> google.protobuf.FieldMask + 41, // 25: mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesResponse.saved_queries:type_name -> mockgcp.cloud.aiplatform.v1beta1.SavedQuery + 35, // 26: mockgcp.cloud.aiplatform.v1beta1.GetAnnotationSpecRequest.read_mask:type_name -> google.protobuf.FieldMask + 35, // 27: mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsRequest.read_mask:type_name -> google.protobuf.FieldMask + 40, // 28: mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsResponse.annotations:type_name -> mockgcp.cloud.aiplatform.v1beta1.Annotation + 0, // 29: mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDataset:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateDatasetRequest + 2, // 30: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDataset:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetDatasetRequest + 3, // 31: mockgcp.cloud.aiplatform.v1beta1.DatasetService.UpdateDataset:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateDatasetRequest + 4, // 32: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasets:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListDatasetsRequest + 6, // 33: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDataset:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteDatasetRequest + 7, // 34: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ImportData:input_type -> mockgcp.cloud.aiplatform.v1beta1.ImportDataRequest + 10, // 35: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ExportData:input_type -> mockgcp.cloud.aiplatform.v1beta1.ExportDataRequest + 13, // 36: mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateDatasetVersionRequest + 15, // 37: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDatasetVersion:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteDatasetVersionRequest + 16, // 38: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDatasetVersion:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetDatasetVersionRequest + 17, // 39: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsRequest + 19, // 40: mockgcp.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion:input_type -> mockgcp.cloud.aiplatform.v1beta1.RestoreDatasetVersionRequest + 21, // 41: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDataItems:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListDataItemsRequest + 23, // 42: mockgcp.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems:input_type -> mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsRequest + 26, // 43: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesRequest + 28, // 44: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteSavedQuery:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteSavedQueryRequest + 29, // 45: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetAnnotationSpec:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetAnnotationSpecRequest + 30, // 46: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsRequest + 42, // 47: mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDataset:output_type -> google.longrunning.Operation + 33, // 48: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDataset:output_type -> mockgcp.cloud.aiplatform.v1beta1.Dataset + 33, // 49: mockgcp.cloud.aiplatform.v1beta1.DatasetService.UpdateDataset:output_type -> mockgcp.cloud.aiplatform.v1beta1.Dataset + 5, // 50: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasets:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListDatasetsResponse + 42, // 51: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDataset:output_type -> google.longrunning.Operation + 42, // 52: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ImportData:output_type -> google.longrunning.Operation + 42, // 53: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ExportData:output_type -> google.longrunning.Operation + 42, // 54: mockgcp.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion:output_type -> google.longrunning.Operation + 42, // 55: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteDatasetVersion:output_type -> google.longrunning.Operation + 38, // 56: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetDatasetVersion:output_type -> mockgcp.cloud.aiplatform.v1beta1.DatasetVersion + 18, // 57: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListDatasetVersionsResponse + 42, // 58: mockgcp.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion:output_type -> google.longrunning.Operation + 22, // 59: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListDataItems:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListDataItemsResponse + 24, // 60: mockgcp.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems:output_type -> mockgcp.cloud.aiplatform.v1beta1.SearchDataItemsResponse + 27, // 61: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListSavedQueriesResponse + 42, // 62: mockgcp.cloud.aiplatform.v1beta1.DatasetService.DeleteSavedQuery:output_type -> google.longrunning.Operation + 43, // 63: mockgcp.cloud.aiplatform.v1beta1.DatasetService.GetAnnotationSpec:output_type -> mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec + 31, // 64: mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListAnnotationsResponse + 47, // [47:65] is the sub-list for method output_type + 29, // [29:47] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_annotation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_annotation_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_data_item_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_dataset_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDatasetsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDatasetsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportDataOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportDataOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetVersionOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDatasetVersionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDatasetVersionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RestoreDatasetVersionOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataItemsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataItemsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchDataItemsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchDataItemsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataItemView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSavedQueriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSavedQueriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSavedQueryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAnnotationSpecRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAnnotationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAnnotationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchDataItemsRequest_OrderByAnnotation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes[23].OneofWrappers = []interface{}{ + (*SearchDataItemsRequest_OrderByDataItem)(nil), + (*SearchDataItemsRequest_OrderByAnnotation_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 33, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.gw.go new file mode 100644 index 0000000000..971557eac9 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service.pb.gw.go @@ -0,0 +1,2214 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/dataset_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_DatasetService_CreateDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Dataset); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_CreateDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Dataset); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateDataset(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_GetDataset_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_GetDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDataset_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_GetDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDataset_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDataset(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_UpdateDataset_0 = &utilities.DoubleArray{Encoding: map[string]int{"dataset": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_DatasetService_UpdateDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Dataset); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Dataset); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "dataset.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_UpdateDataset_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_UpdateDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Dataset); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Dataset); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "dataset.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_UpdateDataset_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateDataset(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_ListDatasets_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_ListDatasets_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDatasetsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDatasets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDatasets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ListDatasets_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDatasetsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDatasets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListDatasets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteDataset(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_ImportData_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ImportData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ImportData_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ImportData(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_ExportData_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ExportData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ExportData_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ExportData(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_CreateDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetVersionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DatasetVersion); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_CreateDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDatasetVersionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DatasetVersion); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateDatasetVersion(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteDatasetVersion(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_GetDatasetVersion_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_GetDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDatasetVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_GetDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetDatasetVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetDatasetVersion(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_ListDatasetVersions_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_ListDatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDatasetVersionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDatasetVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDatasetVersions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ListDatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDatasetVersionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDatasetVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListDatasetVersions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_RestoreDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RestoreDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.RestoreDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_RestoreDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RestoreDatasetVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.RestoreDatasetVersion(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_ListDataItems_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_ListDataItems_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDataItemsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDataItems_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDataItems(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ListDataItems_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDataItemsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListDataItems_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListDataItems(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_SearchDataItems_0 = &utilities.DoubleArray{Encoding: map[string]int{"dataset": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_SearchDataItems_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchDataItemsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset") + } + + protoReq.Dataset, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_SearchDataItems_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SearchDataItems(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_SearchDataItems_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchDataItemsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["dataset"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "dataset") + } + + protoReq.Dataset, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "dataset", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_SearchDataItems_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchDataItems(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_ListSavedQueries_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_ListSavedQueries_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSavedQueriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListSavedQueries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListSavedQueries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ListSavedQueries_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSavedQueriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListSavedQueries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListSavedQueries(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_DeleteSavedQuery_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteSavedQueryRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteSavedQuery(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DeleteSavedQuery_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteSavedQueryRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteSavedQuery(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_GetAnnotationSpec_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_GetAnnotationSpec_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAnnotationSpecRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetAnnotationSpec_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetAnnotationSpec(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_GetAnnotationSpec_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAnnotationSpecRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_GetAnnotationSpec_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAnnotationSpec(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DatasetService_ListAnnotations_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DatasetService_ListAnnotations_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAnnotationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListAnnotations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListAnnotations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_ListAnnotations_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAnnotationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DatasetService_ListAnnotations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListAnnotations(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterDatasetServiceHandlerServer registers the http handlers for service DatasetService to "mux". +// UnaryRPC :call DatasetServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterDatasetServiceHandlerFromEndpoint instead. +func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DatasetServiceServer) error { + + mux.Handle("POST", pattern_DatasetService_CreateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDataset", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_CreateDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDataset", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_GetDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/UpdateDataset", runtime.WithHTTPPathPattern("/v1beta1/{dataset.name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_UpdateDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDatasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasets", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ListDatasets_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDatasets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDataset", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_DeleteDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_ImportData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ImportData", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}:import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ImportData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ImportData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_ExportData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ExportData", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}:export")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ExportData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ExportData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_CreateDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_CreateDatasetVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_DeleteDatasetVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_GetDatasetVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasetVersions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ListDatasetVersions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDatasetVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_RestoreDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/RestoreDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}:restore")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_RestoreDatasetVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_RestoreDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDataItems_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDataItems", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/dataItems")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ListDataItems_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDataItems_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_SearchDataItems_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/SearchDataItems", runtime.WithHTTPPathPattern("/v1beta1/{dataset=projects/*/locations/*/datasets/*}:searchDataItems")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_SearchDataItems_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_SearchDataItems_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListSavedQueries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListSavedQueries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/savedQueries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ListSavedQueries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListSavedQueries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteSavedQuery_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteSavedQuery", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_DeleteSavedQuery_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteSavedQuery_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetAnnotationSpec_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetAnnotationSpec", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_GetAnnotationSpec_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetAnnotationSpec_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListAnnotations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListAnnotations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*/dataItems/*}/annotations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_ListAnnotations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListAnnotations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterDatasetServiceHandlerFromEndpoint is same as RegisterDatasetServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterDatasetServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterDatasetServiceHandler(ctx, mux, conn) +} + +// RegisterDatasetServiceHandler registers the http handlers for service DatasetService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterDatasetServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterDatasetServiceHandlerClient(ctx, mux, NewDatasetServiceClient(conn)) +} + +// RegisterDatasetServiceHandlerClient registers the http handlers for service DatasetService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "DatasetServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "DatasetServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "DatasetServiceClient" to call the correct interceptors. +func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client DatasetServiceClient) error { + + mux.Handle("POST", pattern_DatasetService_CreateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDataset", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_CreateDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDataset", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_GetDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_DatasetService_UpdateDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/UpdateDataset", runtime.WithHTTPPathPattern("/v1beta1/{dataset.name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_UpdateDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_UpdateDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDatasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasets", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/datasets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ListDatasets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDatasets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDataset", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_DeleteDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_ImportData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ImportData", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}:import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ImportData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ImportData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_ExportData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ExportData", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*}:export")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ExportData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ExportData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_DatasetService_CreateDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_CreateDatasetVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_DeleteDatasetVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_GetDatasetVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasetVersions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ListDatasetVersions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDatasetVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_RestoreDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/RestoreDatasetVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}:restore")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_RestoreDatasetVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_RestoreDatasetVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListDataItems_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDataItems", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/dataItems")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ListDataItems_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListDataItems_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_SearchDataItems_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/SearchDataItems", runtime.WithHTTPPathPattern("/v1beta1/{dataset=projects/*/locations/*/datasets/*}:searchDataItems")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_SearchDataItems_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_SearchDataItems_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListSavedQueries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListSavedQueries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*}/savedQueries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ListSavedQueries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListSavedQueries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteSavedQuery_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteSavedQuery", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_DeleteSavedQuery_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteSavedQuery_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_GetAnnotationSpec_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetAnnotationSpec", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_GetAnnotationSpec_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_GetAnnotationSpec_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_ListAnnotations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListAnnotations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/datasets/*/dataItems/*}/annotations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_ListAnnotations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_ListAnnotations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_DatasetService_CreateDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "datasets"}, "")) + + pattern_DatasetService_GetDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "name"}, "")) + + pattern_DatasetService_UpdateDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "dataset.name"}, "")) + + pattern_DatasetService_ListDatasets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "datasets"}, "")) + + pattern_DatasetService_DeleteDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "name"}, "")) + + pattern_DatasetService_ImportData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "name"}, "import")) + + pattern_DatasetService_ExportData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "name"}, "export")) + + pattern_DatasetService_CreateDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "datasets", "parent", "datasetVersions"}, "")) + + pattern_DatasetService_DeleteDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "datasets", "datasetVersions", "name"}, "")) + + pattern_DatasetService_GetDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "datasets", "datasetVersions", "name"}, "")) + + pattern_DatasetService_ListDatasetVersions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "datasets", "parent", "datasetVersions"}, "")) + + pattern_DatasetService_RestoreDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "datasets", "datasetVersions", "name"}, "restore")) + + pattern_DatasetService_ListDataItems_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "datasets", "parent", "dataItems"}, "")) + + pattern_DatasetService_SearchDataItems_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "datasets", "dataset"}, "searchDataItems")) + + pattern_DatasetService_ListSavedQueries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "datasets", "parent", "savedQueries"}, "")) + + pattern_DatasetService_DeleteSavedQuery_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "datasets", "savedQueries", "name"}, "")) + + pattern_DatasetService_GetAnnotationSpec_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "datasets", "annotationSpecs", "name"}, "")) + + pattern_DatasetService_ListAnnotations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "datasets", "dataItems", "parent", "annotations"}, "")) +) + +var ( + forward_DatasetService_CreateDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_GetDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ListDatasets_0 = runtime.ForwardResponseMessage + + forward_DatasetService_DeleteDataset_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ImportData_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ExportData_0 = runtime.ForwardResponseMessage + + forward_DatasetService_CreateDatasetVersion_0 = runtime.ForwardResponseMessage + + forward_DatasetService_DeleteDatasetVersion_0 = runtime.ForwardResponseMessage + + forward_DatasetService_GetDatasetVersion_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ListDatasetVersions_0 = runtime.ForwardResponseMessage + + forward_DatasetService_RestoreDatasetVersion_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ListDataItems_0 = runtime.ForwardResponseMessage + + forward_DatasetService_SearchDataItems_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ListSavedQueries_0 = runtime.ForwardResponseMessage + + forward_DatasetService_DeleteSavedQuery_0 = runtime.ForwardResponseMessage + + forward_DatasetService_GetAnnotationSpec_0 = runtime.ForwardResponseMessage + + forward_DatasetService_ListAnnotations_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service_grpc.pb.go new file mode 100644 index 0000000000..52bb53cba5 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_service_grpc.pb.go @@ -0,0 +1,754 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/dataset_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// DatasetServiceClient is the client API for DatasetService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type DatasetServiceClient interface { + // Creates a Dataset. + CreateDataset(ctx context.Context, in *CreateDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a Dataset. + GetDataset(ctx context.Context, in *GetDatasetRequest, opts ...grpc.CallOption) (*Dataset, error) + // Updates a Dataset. + UpdateDataset(ctx context.Context, in *UpdateDatasetRequest, opts ...grpc.CallOption) (*Dataset, error) + // Lists Datasets in a Location. + ListDatasets(ctx context.Context, in *ListDatasetsRequest, opts ...grpc.CallOption) (*ListDatasetsResponse, error) + // Deletes a Dataset. + DeleteDataset(ctx context.Context, in *DeleteDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Imports data into a Dataset. + ImportData(ctx context.Context, in *ImportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Exports data from a Dataset. + ExportData(ctx context.Context, in *ExportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Create a version from a Dataset. + CreateDatasetVersion(ctx context.Context, in *CreateDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a Dataset version. + DeleteDatasetVersion(ctx context.Context, in *DeleteDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a Dataset version. + GetDatasetVersion(ctx context.Context, in *GetDatasetVersionRequest, opts ...grpc.CallOption) (*DatasetVersion, error) + // Lists DatasetVersions in a Dataset. + ListDatasetVersions(ctx context.Context, in *ListDatasetVersionsRequest, opts ...grpc.CallOption) (*ListDatasetVersionsResponse, error) + // Restores a dataset version. + RestoreDatasetVersion(ctx context.Context, in *RestoreDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists DataItems in a Dataset. + ListDataItems(ctx context.Context, in *ListDataItemsRequest, opts ...grpc.CallOption) (*ListDataItemsResponse, error) + // Searches DataItems in a Dataset. + SearchDataItems(ctx context.Context, in *SearchDataItemsRequest, opts ...grpc.CallOption) (*SearchDataItemsResponse, error) + // Lists SavedQueries in a Dataset. + ListSavedQueries(ctx context.Context, in *ListSavedQueriesRequest, opts ...grpc.CallOption) (*ListSavedQueriesResponse, error) + // Deletes a SavedQuery. + DeleteSavedQuery(ctx context.Context, in *DeleteSavedQueryRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets an AnnotationSpec. + GetAnnotationSpec(ctx context.Context, in *GetAnnotationSpecRequest, opts ...grpc.CallOption) (*AnnotationSpec, error) + // Lists Annotations belongs to a dataitem + ListAnnotations(ctx context.Context, in *ListAnnotationsRequest, opts ...grpc.CallOption) (*ListAnnotationsResponse, error) +} + +type datasetServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewDatasetServiceClient(cc grpc.ClientConnInterface) DatasetServiceClient { + return &datasetServiceClient{cc} +} + +func (c *datasetServiceClient) CreateDataset(ctx context.Context, in *CreateDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) GetDataset(ctx context.Context, in *GetDatasetRequest, opts ...grpc.CallOption) (*Dataset, error) { + out := new(Dataset) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) UpdateDataset(ctx context.Context, in *UpdateDatasetRequest, opts ...grpc.CallOption) (*Dataset, error) { + out := new(Dataset) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/UpdateDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ListDatasets(ctx context.Context, in *ListDatasetsRequest, opts ...grpc.CallOption) (*ListDatasetsResponse, error) { + out := new(ListDatasetsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasets", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) DeleteDataset(ctx context.Context, in *DeleteDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ImportData(ctx context.Context, in *ImportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ImportData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ExportData(ctx context.Context, in *ExportDataRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ExportData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) CreateDatasetVersion(ctx context.Context, in *CreateDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDatasetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) DeleteDatasetVersion(ctx context.Context, in *DeleteDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDatasetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) GetDatasetVersion(ctx context.Context, in *GetDatasetVersionRequest, opts ...grpc.CallOption) (*DatasetVersion, error) { + out := new(DatasetVersion) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDatasetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ListDatasetVersions(ctx context.Context, in *ListDatasetVersionsRequest, opts ...grpc.CallOption) (*ListDatasetVersionsResponse, error) { + out := new(ListDatasetVersionsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasetVersions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) RestoreDatasetVersion(ctx context.Context, in *RestoreDatasetVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/RestoreDatasetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ListDataItems(ctx context.Context, in *ListDataItemsRequest, opts ...grpc.CallOption) (*ListDataItemsResponse, error) { + out := new(ListDataItemsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDataItems", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) SearchDataItems(ctx context.Context, in *SearchDataItemsRequest, opts ...grpc.CallOption) (*SearchDataItemsResponse, error) { + out := new(SearchDataItemsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/SearchDataItems", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ListSavedQueries(ctx context.Context, in *ListSavedQueriesRequest, opts ...grpc.CallOption) (*ListSavedQueriesResponse, error) { + out := new(ListSavedQueriesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListSavedQueries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) DeleteSavedQuery(ctx context.Context, in *DeleteSavedQueryRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteSavedQuery", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) GetAnnotationSpec(ctx context.Context, in *GetAnnotationSpecRequest, opts ...grpc.CallOption) (*AnnotationSpec, error) { + out := new(AnnotationSpec) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetAnnotationSpec", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) ListAnnotations(ctx context.Context, in *ListAnnotationsRequest, opts ...grpc.CallOption) (*ListAnnotationsResponse, error) { + out := new(ListAnnotationsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListAnnotations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DatasetServiceServer is the server API for DatasetService service. +// All implementations must embed UnimplementedDatasetServiceServer +// for forward compatibility +type DatasetServiceServer interface { + // Creates a Dataset. + CreateDataset(context.Context, *CreateDatasetRequest) (*longrunningpb.Operation, error) + // Gets a Dataset. + GetDataset(context.Context, *GetDatasetRequest) (*Dataset, error) + // Updates a Dataset. + UpdateDataset(context.Context, *UpdateDatasetRequest) (*Dataset, error) + // Lists Datasets in a Location. + ListDatasets(context.Context, *ListDatasetsRequest) (*ListDatasetsResponse, error) + // Deletes a Dataset. + DeleteDataset(context.Context, *DeleteDatasetRequest) (*longrunningpb.Operation, error) + // Imports data into a Dataset. + ImportData(context.Context, *ImportDataRequest) (*longrunningpb.Operation, error) + // Exports data from a Dataset. + ExportData(context.Context, *ExportDataRequest) (*longrunningpb.Operation, error) + // Create a version from a Dataset. + CreateDatasetVersion(context.Context, *CreateDatasetVersionRequest) (*longrunningpb.Operation, error) + // Deletes a Dataset version. + DeleteDatasetVersion(context.Context, *DeleteDatasetVersionRequest) (*longrunningpb.Operation, error) + // Gets a Dataset version. + GetDatasetVersion(context.Context, *GetDatasetVersionRequest) (*DatasetVersion, error) + // Lists DatasetVersions in a Dataset. + ListDatasetVersions(context.Context, *ListDatasetVersionsRequest) (*ListDatasetVersionsResponse, error) + // Restores a dataset version. + RestoreDatasetVersion(context.Context, *RestoreDatasetVersionRequest) (*longrunningpb.Operation, error) + // Lists DataItems in a Dataset. + ListDataItems(context.Context, *ListDataItemsRequest) (*ListDataItemsResponse, error) + // Searches DataItems in a Dataset. + SearchDataItems(context.Context, *SearchDataItemsRequest) (*SearchDataItemsResponse, error) + // Lists SavedQueries in a Dataset. + ListSavedQueries(context.Context, *ListSavedQueriesRequest) (*ListSavedQueriesResponse, error) + // Deletes a SavedQuery. + DeleteSavedQuery(context.Context, *DeleteSavedQueryRequest) (*longrunningpb.Operation, error) + // Gets an AnnotationSpec. + GetAnnotationSpec(context.Context, *GetAnnotationSpecRequest) (*AnnotationSpec, error) + // Lists Annotations belongs to a dataitem + ListAnnotations(context.Context, *ListAnnotationsRequest) (*ListAnnotationsResponse, error) + mustEmbedUnimplementedDatasetServiceServer() +} + +// UnimplementedDatasetServiceServer must be embedded to have forward compatible implementations. +type UnimplementedDatasetServiceServer struct { +} + +func (UnimplementedDatasetServiceServer) CreateDataset(context.Context, *CreateDatasetRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDataset not implemented") +} +func (UnimplementedDatasetServiceServer) GetDataset(context.Context, *GetDatasetRequest) (*Dataset, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDataset not implemented") +} +func (UnimplementedDatasetServiceServer) UpdateDataset(context.Context, *UpdateDatasetRequest) (*Dataset, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDataset not implemented") +} +func (UnimplementedDatasetServiceServer) ListDatasets(context.Context, *ListDatasetsRequest) (*ListDatasetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDatasets not implemented") +} +func (UnimplementedDatasetServiceServer) DeleteDataset(context.Context, *DeleteDatasetRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDataset not implemented") +} +func (UnimplementedDatasetServiceServer) ImportData(context.Context, *ImportDataRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportData not implemented") +} +func (UnimplementedDatasetServiceServer) ExportData(context.Context, *ExportDataRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportData not implemented") +} +func (UnimplementedDatasetServiceServer) CreateDatasetVersion(context.Context, *CreateDatasetVersionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDatasetVersion not implemented") +} +func (UnimplementedDatasetServiceServer) DeleteDatasetVersion(context.Context, *DeleteDatasetVersionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDatasetVersion not implemented") +} +func (UnimplementedDatasetServiceServer) GetDatasetVersion(context.Context, *GetDatasetVersionRequest) (*DatasetVersion, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDatasetVersion not implemented") +} +func (UnimplementedDatasetServiceServer) ListDatasetVersions(context.Context, *ListDatasetVersionsRequest) (*ListDatasetVersionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDatasetVersions not implemented") +} +func (UnimplementedDatasetServiceServer) RestoreDatasetVersion(context.Context, *RestoreDatasetVersionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RestoreDatasetVersion not implemented") +} +func (UnimplementedDatasetServiceServer) ListDataItems(context.Context, *ListDataItemsRequest) (*ListDataItemsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDataItems not implemented") +} +func (UnimplementedDatasetServiceServer) SearchDataItems(context.Context, *SearchDataItemsRequest) (*SearchDataItemsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchDataItems not implemented") +} +func (UnimplementedDatasetServiceServer) ListSavedQueries(context.Context, *ListSavedQueriesRequest) (*ListSavedQueriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSavedQueries not implemented") +} +func (UnimplementedDatasetServiceServer) DeleteSavedQuery(context.Context, *DeleteSavedQueryRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSavedQuery not implemented") +} +func (UnimplementedDatasetServiceServer) GetAnnotationSpec(context.Context, *GetAnnotationSpecRequest) (*AnnotationSpec, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAnnotationSpec not implemented") +} +func (UnimplementedDatasetServiceServer) ListAnnotations(context.Context, *ListAnnotationsRequest) (*ListAnnotationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAnnotations not implemented") +} +func (UnimplementedDatasetServiceServer) mustEmbedUnimplementedDatasetServiceServer() {} + +// UnsafeDatasetServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to DatasetServiceServer will +// result in compilation errors. +type UnsafeDatasetServiceServer interface { + mustEmbedUnimplementedDatasetServiceServer() +} + +func RegisterDatasetServiceServer(s grpc.ServiceRegistrar, srv DatasetServiceServer) { + s.RegisterService(&DatasetService_ServiceDesc, srv) +} + +func _DatasetService_CreateDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).CreateDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDataset", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).CreateDataset(ctx, req.(*CreateDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_GetDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).GetDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDataset", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).GetDataset(ctx, req.(*GetDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_UpdateDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).UpdateDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/UpdateDataset", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).UpdateDataset(ctx, req.(*UpdateDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ListDatasets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDatasetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ListDatasets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ListDatasets(ctx, req.(*ListDatasetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_DeleteDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).DeleteDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDataset", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).DeleteDataset(ctx, req.(*DeleteDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ImportData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ImportData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ImportData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ImportData(ctx, req.(*ImportDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ExportData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ExportData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ExportData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ExportData(ctx, req.(*ExportDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_CreateDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDatasetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).CreateDatasetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/CreateDatasetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).CreateDatasetVersion(ctx, req.(*CreateDatasetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_DeleteDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDatasetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteDatasetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, req.(*DeleteDatasetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_GetDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDatasetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).GetDatasetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetDatasetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).GetDatasetVersion(ctx, req.(*GetDatasetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ListDatasetVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDatasetVersionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ListDatasetVersions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDatasetVersions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ListDatasetVersions(ctx, req.(*ListDatasetVersionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_RestoreDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreDatasetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).RestoreDatasetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/RestoreDatasetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).RestoreDatasetVersion(ctx, req.(*RestoreDatasetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ListDataItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDataItemsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ListDataItems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListDataItems", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ListDataItems(ctx, req.(*ListDataItemsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_SearchDataItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchDataItemsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).SearchDataItems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/SearchDataItems", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).SearchDataItems(ctx, req.(*SearchDataItemsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ListSavedQueries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSavedQueriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ListSavedQueries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListSavedQueries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ListSavedQueries(ctx, req.(*ListSavedQueriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_DeleteSavedQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSavedQueryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).DeleteSavedQuery(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/DeleteSavedQuery", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).DeleteSavedQuery(ctx, req.(*DeleteSavedQueryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_GetAnnotationSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAnnotationSpecRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).GetAnnotationSpec(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/GetAnnotationSpec", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).GetAnnotationSpec(ctx, req.(*GetAnnotationSpecRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_ListAnnotations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAnnotationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).ListAnnotations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DatasetService/ListAnnotations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).ListAnnotations(ctx, req.(*ListAnnotationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// DatasetService_ServiceDesc is the grpc.ServiceDesc for DatasetService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var DatasetService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.DatasetService", + HandlerType: (*DatasetServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateDataset", + Handler: _DatasetService_CreateDataset_Handler, + }, + { + MethodName: "GetDataset", + Handler: _DatasetService_GetDataset_Handler, + }, + { + MethodName: "UpdateDataset", + Handler: _DatasetService_UpdateDataset_Handler, + }, + { + MethodName: "ListDatasets", + Handler: _DatasetService_ListDatasets_Handler, + }, + { + MethodName: "DeleteDataset", + Handler: _DatasetService_DeleteDataset_Handler, + }, + { + MethodName: "ImportData", + Handler: _DatasetService_ImportData_Handler, + }, + { + MethodName: "ExportData", + Handler: _DatasetService_ExportData_Handler, + }, + { + MethodName: "CreateDatasetVersion", + Handler: _DatasetService_CreateDatasetVersion_Handler, + }, + { + MethodName: "DeleteDatasetVersion", + Handler: _DatasetService_DeleteDatasetVersion_Handler, + }, + { + MethodName: "GetDatasetVersion", + Handler: _DatasetService_GetDatasetVersion_Handler, + }, + { + MethodName: "ListDatasetVersions", + Handler: _DatasetService_ListDatasetVersions_Handler, + }, + { + MethodName: "RestoreDatasetVersion", + Handler: _DatasetService_RestoreDatasetVersion_Handler, + }, + { + MethodName: "ListDataItems", + Handler: _DatasetService_ListDataItems_Handler, + }, + { + MethodName: "SearchDataItems", + Handler: _DatasetService_SearchDataItems_Handler, + }, + { + MethodName: "ListSavedQueries", + Handler: _DatasetService_ListSavedQueries_Handler, + }, + { + MethodName: "DeleteSavedQuery", + Handler: _DatasetService_DeleteSavedQuery_Handler, + }, + { + MethodName: "GetAnnotationSpec", + Handler: _DatasetService_GetAnnotationSpec_Handler, + }, + { + MethodName: "ListAnnotations", + Handler: _DatasetService_ListAnnotations_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/dataset_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_version.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_version.pb.go new file mode 100644 index 0000000000..117b981951 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/dataset_version.pb.go @@ -0,0 +1,246 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/dataset_version.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the dataset version. +type DatasetVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the DatasetVersion. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this DatasetVersion was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this DatasetVersion was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. Name of the associated BigQuery dataset. + BigQueryDatasetName string `protobuf:"bytes,4,opt,name=big_query_dataset_name,json=bigQueryDatasetName,proto3" json:"big_query_dataset_name,omitempty"` +} + +func (x *DatasetVersion) Reset() { + *x = DatasetVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetVersion) ProtoMessage() {} + +func (x *DatasetVersion) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_msgTypes[0] + 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 DatasetVersion.ProtoReflect.Descriptor instead. +func (*DatasetVersion) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescGZIP(), []int{0} +} + +func (x *DatasetVersion) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DatasetVersion) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DatasetVersion) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *DatasetVersion) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *DatasetVersion) GetBigQueryDatasetName() string { + if x != nil { + return x.BigQueryDatasetName + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x22, 0x8a, 0x03, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x02, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x38, 0x0a, 0x16, 0x62, + 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x13, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, 0x28, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_goTypes = []interface{}{ + (*DatasetVersion)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.DatasetVersion + (*timestamp.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.DatasetVersion.create_time:type_name -> google.protobuf.Timestamp + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.DatasetVersion.update_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetVersion); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_dataset_version_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_index_ref.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_index_ref.pb.go new file mode 100644 index 0000000000..5209231e4e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_index_ref.pb.go @@ -0,0 +1,209 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/deployed_index_ref.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Points to a DeployedIndex. +type DeployedIndexRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. A resource name of the IndexEndpoint. + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // Immutable. The ID of the DeployedIndex in the above IndexEndpoint. + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` + // Output only. The display name of the DeployedIndex. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` +} + +func (x *DeployedIndexRef) Reset() { + *x = DeployedIndexRef{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedIndexRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedIndexRef) ProtoMessage() {} + +func (x *DeployedIndexRef) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_msgTypes[0] + 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 DeployedIndexRef.ProtoReflect.Descriptor instead. +func (*DeployedIndexRef) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescGZIP(), []int{0} +} + +func (x *DeployedIndexRef) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *DeployedIndexRef) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +func (x *DeployedIndexRef) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x5f, 0x72, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x10, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x66, 0x12, 0x56, + 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x29, 0x0a, 0x27, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x42, + 0xed, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_goTypes = []interface{}{ + (*DeployedIndexRef)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.DeployedIndexRef +} +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedIndexRef); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_model_ref.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_model_ref.pb.go new file mode 100644 index 0000000000..6323078737 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployed_model_ref.pb.go @@ -0,0 +1,196 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/deployed_model_ref.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Points to a DeployedModel. +type DeployedModelRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. A resource name of an Endpoint. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Immutable. An ID of a DeployedModel in the above Endpoint. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` +} + +func (x *DeployedModelRef) Reset() { + *x = DeployedModelRef{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedModelRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedModelRef) ProtoMessage() {} + +func (x *DeployedModelRef) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_msgTypes[0] + 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 DeployedModelRef.ProtoReflect.Descriptor instead. +func (*DeployedModelRef) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescGZIP(), []int{0} +} + +func (x *DeployedModelRef) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *DeployedModelRef) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x46, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x42, 0xee, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x16, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_goTypes = []interface{}{ + (*DeployedModelRef)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.DeployedModelRef +} +var file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedModelRef); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool.pb.go new file mode 100644 index 0000000000..413aa5093e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool.pb.go @@ -0,0 +1,236 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A description of resources that can be shared by multiple DeployedModels, +// whose underlying specification consists of a DedicatedResources. +type DeploymentResourcePool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The resource name of the DeploymentResourcePool. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The underlying DedicatedResources that the DeploymentResourcePool + // uses. + DedicatedResources *DedicatedResources `protobuf:"bytes,2,opt,name=dedicated_resources,json=dedicatedResources,proto3" json:"dedicated_resources,omitempty"` + // Output only. Timestamp when this DeploymentResourcePool was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` +} + +func (x *DeploymentResourcePool) Reset() { + *x = DeploymentResourcePool{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentResourcePool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentResourcePool) ProtoMessage() {} + +func (x *DeploymentResourcePool) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_msgTypes[0] + 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 DeploymentResourcePool.ProtoReflect.Descriptor instead. +func (*DeploymentResourcePool) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescGZIP(), []int{0} +} + +func (x *DeploymentResourcePool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeploymentResourcePool) GetDedicatedResources() *DedicatedResources { + if x != nil { + return x.DedicatedResources + } + return nil +} + +func (x *DeploymentResourcePool) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 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, 0x22, 0xf4, 0x02, 0x0a, 0x16, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6a, + 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x92, 0x01, 0xea, + 0x41, 0x8e, 0x01, 0x0a, 0x30, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x5a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x7d, 0x42, 0xf3, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1b, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_goTypes = []interface{}{ + (*DeploymentResourcePool)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool + (*DedicatedResources)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool.dedicated_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool.create_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentResourcePool); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.go new file mode 100644 index 0000000000..f2166d52f4 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.go @@ -0,0 +1,1058 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for CreateDeploymentResourcePool method. +type CreateDeploymentResourcePoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent location resource where this DeploymentResourcePool + // will be created. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The DeploymentResourcePool to create. + DeploymentResourcePool *DeploymentResourcePool `protobuf:"bytes,2,opt,name=deployment_resource_pool,json=deploymentResourcePool,proto3" json:"deployment_resource_pool,omitempty"` + // Required. The ID to use for the DeploymentResourcePool, which + // will become the final component of the DeploymentResourcePool's resource + // name. + // + // The maximum length is 63 characters, and valid characters + // are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + DeploymentResourcePoolId string `protobuf:"bytes,3,opt,name=deployment_resource_pool_id,json=deploymentResourcePoolId,proto3" json:"deployment_resource_pool_id,omitempty"` +} + +func (x *CreateDeploymentResourcePoolRequest) Reset() { + *x = CreateDeploymentResourcePoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDeploymentResourcePoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDeploymentResourcePoolRequest) ProtoMessage() {} + +func (x *CreateDeploymentResourcePoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[0] + 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 CreateDeploymentResourcePoolRequest.ProtoReflect.Descriptor instead. +func (*CreateDeploymentResourcePoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateDeploymentResourcePoolRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDeploymentResourcePoolRequest) GetDeploymentResourcePool() *DeploymentResourcePool { + if x != nil { + return x.DeploymentResourcePool + } + return nil +} + +func (x *CreateDeploymentResourcePoolRequest) GetDeploymentResourcePoolId() string { + if x != nil { + return x.DeploymentResourcePoolId + } + return "" +} + +// Runtime operation information for CreateDeploymentResourcePool method. +type CreateDeploymentResourcePoolOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateDeploymentResourcePoolOperationMetadata) Reset() { + *x = CreateDeploymentResourcePoolOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDeploymentResourcePoolOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDeploymentResourcePoolOperationMetadata) ProtoMessage() {} + +func (x *CreateDeploymentResourcePoolOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[1] + 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 CreateDeploymentResourcePoolOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateDeploymentResourcePoolOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateDeploymentResourcePoolOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for GetDeploymentResourcePool method. +type GetDeploymentResourcePoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DeploymentResourcePool to retrieve. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetDeploymentResourcePoolRequest) Reset() { + *x = GetDeploymentResourcePoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDeploymentResourcePoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeploymentResourcePoolRequest) ProtoMessage() {} + +func (x *GetDeploymentResourcePoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_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 GetDeploymentResourcePoolRequest.ProtoReflect.Descriptor instead. +func (*GetDeploymentResourcePoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetDeploymentResourcePoolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for ListDeploymentResourcePools method. +type ListDeploymentResourcePoolsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent Location which owns this collection of + // DeploymentResourcePools. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of DeploymentResourcePools to return. The service may + // return fewer than this value. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListDeploymentResourcePools` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListDeploymentResourcePools` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListDeploymentResourcePoolsRequest) Reset() { + *x = ListDeploymentResourcePoolsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentResourcePoolsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentResourcePoolsRequest) ProtoMessage() {} + +func (x *ListDeploymentResourcePoolsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[3] + 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 ListDeploymentResourcePoolsRequest.ProtoReflect.Descriptor instead. +func (*ListDeploymentResourcePoolsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListDeploymentResourcePoolsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDeploymentResourcePoolsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDeploymentResourcePoolsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListDeploymentResourcePools method. +type ListDeploymentResourcePoolsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeploymentResourcePools from the specified location. + DeploymentResourcePools []*DeploymentResourcePool `protobuf:"bytes,1,rep,name=deployment_resource_pools,json=deploymentResourcePools,proto3" json:"deployment_resource_pools,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDeploymentResourcePoolsResponse) Reset() { + *x = ListDeploymentResourcePoolsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentResourcePoolsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentResourcePoolsResponse) ProtoMessage() {} + +func (x *ListDeploymentResourcePoolsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[4] + 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 ListDeploymentResourcePoolsResponse.ProtoReflect.Descriptor instead. +func (*ListDeploymentResourcePoolsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListDeploymentResourcePoolsResponse) GetDeploymentResourcePools() []*DeploymentResourcePool { + if x != nil { + return x.DeploymentResourcePools + } + return nil +} + +func (x *ListDeploymentResourcePoolsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Runtime operation information for UpdateDeploymentResourcePool method. +type UpdateDeploymentResourcePoolOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateDeploymentResourcePoolOperationMetadata) Reset() { + *x = UpdateDeploymentResourcePoolOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDeploymentResourcePoolOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDeploymentResourcePoolOperationMetadata) ProtoMessage() {} + +func (x *UpdateDeploymentResourcePoolOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[5] + 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 UpdateDeploymentResourcePoolOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateDeploymentResourcePoolOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateDeploymentResourcePoolOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for DeleteDeploymentResourcePool method. +type DeleteDeploymentResourcePoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DeploymentResourcePool to delete. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteDeploymentResourcePoolRequest) Reset() { + *x = DeleteDeploymentResourcePoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDeploymentResourcePoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDeploymentResourcePoolRequest) ProtoMessage() {} + +func (x *DeleteDeploymentResourcePoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_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 DeleteDeploymentResourcePoolRequest.ProtoReflect.Descriptor instead. +func (*DeleteDeploymentResourcePoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteDeploymentResourcePoolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for QueryDeployedModels method. +type QueryDeployedModelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the target DeploymentResourcePool to query. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + DeploymentResourcePool string `protobuf:"bytes,1,opt,name=deployment_resource_pool,json=deploymentResourcePool,proto3" json:"deployment_resource_pool,omitempty"` + // The maximum number of DeployedModels to return. The service may return + // fewer than this value. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `QueryDeployedModels` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `QueryDeployedModels` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *QueryDeployedModelsRequest) Reset() { + *x = QueryDeployedModelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDeployedModelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDeployedModelsRequest) ProtoMessage() {} + +func (x *QueryDeployedModelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[7] + 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 QueryDeployedModelsRequest.ProtoReflect.Descriptor instead. +func (*QueryDeployedModelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryDeployedModelsRequest) GetDeploymentResourcePool() string { + if x != nil { + return x.DeploymentResourcePool + } + return "" +} + +func (x *QueryDeployedModelsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *QueryDeployedModelsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for QueryDeployedModels method. +type QueryDeployedModelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // DEPRECATED Use deployed_model_refs instead. + // + // Deprecated: Do not use. + DeployedModels []*DeployedModel `protobuf:"bytes,1,rep,name=deployed_models,json=deployedModels,proto3" json:"deployed_models,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // References to the DeployedModels that share the specified + // deploymentResourcePool. + DeployedModelRefs []*DeployedModelRef `protobuf:"bytes,3,rep,name=deployed_model_refs,json=deployedModelRefs,proto3" json:"deployed_model_refs,omitempty"` + // The total number of DeployedModels on this DeploymentResourcePool. + TotalDeployedModelCount int32 `protobuf:"varint,4,opt,name=total_deployed_model_count,json=totalDeployedModelCount,proto3" json:"total_deployed_model_count,omitempty"` + // The total number of Endpoints that have DeployedModels on this + // DeploymentResourcePool. + TotalEndpointCount int32 `protobuf:"varint,5,opt,name=total_endpoint_count,json=totalEndpointCount,proto3" json:"total_endpoint_count,omitempty"` +} + +func (x *QueryDeployedModelsResponse) Reset() { + *x = QueryDeployedModelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDeployedModelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDeployedModelsResponse) ProtoMessage() {} + +func (x *QueryDeployedModelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_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 QueryDeployedModelsResponse.ProtoReflect.Descriptor instead. +func (*QueryDeployedModelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP(), []int{8} +} + +// Deprecated: Do not use. +func (x *QueryDeployedModelsResponse) GetDeployedModels() []*DeployedModel { + if x != nil { + return x.DeployedModels + } + return nil +} + +func (x *QueryDeployedModelsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *QueryDeployedModelsResponse) GetDeployedModelRefs() []*DeployedModelRef { + if x != nil { + return x.DeployedModelRefs + } + return nil +} + +func (x *QueryDeployedModelsResponse) GetTotalDeployedModelCount() int32 { + if x != nil { + return x.TotalDeployedModelCount + } + return 0 +} + +func (x *QueryDeployedModelsResponse) GetTotalEndpointCount() int32 { + if x != nil { + return x.TotalEndpointCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDesc = []byte{ + 0x0a, 0x47, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, + 0xa5, 0x02, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x18, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x12, 0x42, 0x0a, 0x1b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x70, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x12, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc3, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x74, 0x0a, 0x19, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x17, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 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, 0x96, + 0x01, 0x0a, 0x2d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x73, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x97, 0x01, 0x0a, + 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x18, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x16, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf6, 0x02, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 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, 0x12, 0x62, 0x0a, 0x13, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x11, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x73, + 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, + 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, + 0xe7, 0x0b, 0x0a, 0x1d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xda, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x45, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 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, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x45, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x3b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x47, 0x0a, 0x16, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xea, + 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x42, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xfd, 0x01, 0x0a, 0x1b, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x44, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x45, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, + 0x12, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x89, 0x02, 0x0a, 0x1c, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x45, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 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, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa0, 0x02, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x12, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xda, + 0x41, 0x18, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xfa, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x22, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_goTypes = []interface{}{ + (*CreateDeploymentResourcePoolRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateDeploymentResourcePoolRequest + (*CreateDeploymentResourcePoolOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateDeploymentResourcePoolOperationMetadata + (*GetDeploymentResourcePoolRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetDeploymentResourcePoolRequest + (*ListDeploymentResourcePoolsRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListDeploymentResourcePoolsRequest + (*ListDeploymentResourcePoolsResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListDeploymentResourcePoolsResponse + (*UpdateDeploymentResourcePoolOperationMetadata)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateDeploymentResourcePoolOperationMetadata + (*DeleteDeploymentResourcePoolRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeleteDeploymentResourcePoolRequest + (*QueryDeployedModelsRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsRequest + (*QueryDeployedModelsResponse)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsResponse + (*DeploymentResourcePool)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool + (*GenericOperationMetadata)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*DeployedModel)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.DeployedModel + (*DeployedModelRef)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.DeployedModelRef + (*longrunningpb.Operation)(nil), // 13: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_depIdxs = []int32{ + 9, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateDeploymentResourcePoolRequest.deployment_resource_pool:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool + 10, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateDeploymentResourcePoolOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 9, // 2: mockgcp.cloud.aiplatform.v1beta1.ListDeploymentResourcePoolsResponse.deployment_resource_pools:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool + 10, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateDeploymentResourcePoolOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 11, // 4: mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsResponse.deployed_models:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 12, // 5: mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsResponse.deployed_model_refs:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModelRef + 0, // 6: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.CreateDeploymentResourcePool:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateDeploymentResourcePoolRequest + 2, // 7: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.GetDeploymentResourcePool:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetDeploymentResourcePoolRequest + 3, // 8: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.ListDeploymentResourcePools:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListDeploymentResourcePoolsRequest + 6, // 9: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.DeleteDeploymentResourcePool:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteDeploymentResourcePoolRequest + 7, // 10: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.QueryDeployedModels:input_type -> mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsRequest + 13, // 11: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.CreateDeploymentResourcePool:output_type -> google.longrunning.Operation + 9, // 12: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.GetDeploymentResourcePool:output_type -> mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool + 4, // 13: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.ListDeploymentResourcePools:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListDeploymentResourcePoolsResponse + 13, // 14: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.DeleteDeploymentResourcePool:output_type -> google.longrunning.Operation + 8, // 15: mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService.QueryDeployedModels:output_type -> mockgcp.cloud.aiplatform.v1beta1.QueryDeployedModelsResponse + 11, // [11:16] is the sub-list for method output_type + 6, // [6:11] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDeploymentResourcePoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDeploymentResourcePoolOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDeploymentResourcePoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentResourcePoolsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentResourcePoolsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDeploymentResourcePoolOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDeploymentResourcePoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryDeployedModelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryDeployedModelsResponse); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_deployment_resource_pool_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.gw.go new file mode 100644 index 0000000000..33ddf61784 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.pb.gw.go @@ -0,0 +1,653 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, client DeploymentResourcePoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateDeploymentResourcePool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, server DeploymentResourcePoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateDeploymentResourcePool(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DeploymentResourcePoolService_GetDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, client DeploymentResourcePoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetDeploymentResourcePool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DeploymentResourcePoolService_GetDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, server DeploymentResourcePoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetDeploymentResourcePool(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DeploymentResourcePoolService_ListDeploymentResourcePools_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DeploymentResourcePoolService_ListDeploymentResourcePools_0(ctx context.Context, marshaler runtime.Marshaler, client DeploymentResourcePoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDeploymentResourcePoolsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DeploymentResourcePoolService_ListDeploymentResourcePools_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDeploymentResourcePools(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DeploymentResourcePoolService_ListDeploymentResourcePools_0(ctx context.Context, marshaler runtime.Marshaler, server DeploymentResourcePoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDeploymentResourcePoolsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DeploymentResourcePoolService_ListDeploymentResourcePools_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListDeploymentResourcePools(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, client DeploymentResourcePoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteDeploymentResourcePool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(ctx context.Context, marshaler runtime.Marshaler, server DeploymentResourcePoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDeploymentResourcePoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteDeploymentResourcePool(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_DeploymentResourcePoolService_QueryDeployedModels_0 = &utilities.DoubleArray{Encoding: map[string]int{"deployment_resource_pool": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_DeploymentResourcePoolService_QueryDeployedModels_0(ctx context.Context, marshaler runtime.Marshaler, client DeploymentResourcePoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDeployedModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["deployment_resource_pool"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_resource_pool") + } + + protoReq.DeploymentResourcePool, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_resource_pool", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DeploymentResourcePoolService_QueryDeployedModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.QueryDeployedModels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DeploymentResourcePoolService_QueryDeployedModels_0(ctx context.Context, marshaler runtime.Marshaler, server DeploymentResourcePoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryDeployedModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["deployment_resource_pool"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_resource_pool") + } + + protoReq.DeploymentResourcePool, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_resource_pool", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_DeploymentResourcePoolService_QueryDeployedModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.QueryDeployedModels(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterDeploymentResourcePoolServiceHandlerServer registers the http handlers for service DeploymentResourcePoolService to "mux". +// UnaryRPC :call DeploymentResourcePoolServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterDeploymentResourcePoolServiceHandlerFromEndpoint instead. +func RegisterDeploymentResourcePoolServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DeploymentResourcePoolServiceServer) error { + + mux.Handle("POST", pattern_DeploymentResourcePoolService_CreateDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/CreateDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/deploymentResourcePools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_GetDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/GetDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/deploymentResourcePools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DeploymentResourcePoolService_GetDeploymentResourcePool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_GetDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_ListDeploymentResourcePools_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/ListDeploymentResourcePools", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/deploymentResourcePools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DeploymentResourcePoolService_ListDeploymentResourcePools_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_ListDeploymentResourcePools_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/DeleteDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/deploymentResourcePools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_QueryDeployedModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/QueryDeployedModels", runtime.WithHTTPPathPattern("/v1beta1/{deployment_resource_pool=projects/*/locations/*/deploymentResourcePools/*}:queryDeployedModels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DeploymentResourcePoolService_QueryDeployedModels_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_QueryDeployedModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterDeploymentResourcePoolServiceHandlerFromEndpoint is same as RegisterDeploymentResourcePoolServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterDeploymentResourcePoolServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterDeploymentResourcePoolServiceHandler(ctx, mux, conn) +} + +// RegisterDeploymentResourcePoolServiceHandler registers the http handlers for service DeploymentResourcePoolService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterDeploymentResourcePoolServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterDeploymentResourcePoolServiceHandlerClient(ctx, mux, NewDeploymentResourcePoolServiceClient(conn)) +} + +// RegisterDeploymentResourcePoolServiceHandlerClient registers the http handlers for service DeploymentResourcePoolService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "DeploymentResourcePoolServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "DeploymentResourcePoolServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "DeploymentResourcePoolServiceClient" to call the correct interceptors. +func RegisterDeploymentResourcePoolServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client DeploymentResourcePoolServiceClient) error { + + mux.Handle("POST", pattern_DeploymentResourcePoolService_CreateDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/CreateDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/deploymentResourcePools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_CreateDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_GetDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/GetDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/deploymentResourcePools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DeploymentResourcePoolService_GetDeploymentResourcePool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_GetDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_ListDeploymentResourcePools_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/ListDeploymentResourcePools", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/deploymentResourcePools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DeploymentResourcePoolService_ListDeploymentResourcePools_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_ListDeploymentResourcePools_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/DeleteDeploymentResourcePool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/deploymentResourcePools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DeploymentResourcePoolService_QueryDeployedModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/QueryDeployedModels", runtime.WithHTTPPathPattern("/v1beta1/{deployment_resource_pool=projects/*/locations/*/deploymentResourcePools/*}:queryDeployedModels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DeploymentResourcePoolService_QueryDeployedModels_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_DeploymentResourcePoolService_QueryDeployedModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_DeploymentResourcePoolService_CreateDeploymentResourcePool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "deploymentResourcePools"}, "")) + + pattern_DeploymentResourcePoolService_GetDeploymentResourcePool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "deploymentResourcePools", "name"}, "")) + + pattern_DeploymentResourcePoolService_ListDeploymentResourcePools_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "deploymentResourcePools"}, "")) + + pattern_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "deploymentResourcePools", "name"}, "")) + + pattern_DeploymentResourcePoolService_QueryDeployedModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "deploymentResourcePools", "deployment_resource_pool"}, "queryDeployedModels")) +) + +var ( + forward_DeploymentResourcePoolService_CreateDeploymentResourcePool_0 = runtime.ForwardResponseMessage + + forward_DeploymentResourcePoolService_GetDeploymentResourcePool_0 = runtime.ForwardResponseMessage + + forward_DeploymentResourcePoolService_ListDeploymentResourcePools_0 = runtime.ForwardResponseMessage + + forward_DeploymentResourcePoolService_DeleteDeploymentResourcePool_0 = runtime.ForwardResponseMessage + + forward_DeploymentResourcePoolService_QueryDeployedModels_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service_grpc.pb.go new file mode 100644 index 0000000000..bc99e6978e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service_grpc.pb.go @@ -0,0 +1,261 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// DeploymentResourcePoolServiceClient is the client API for DeploymentResourcePoolService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type DeploymentResourcePoolServiceClient interface { + // Create a DeploymentResourcePool. + CreateDeploymentResourcePool(ctx context.Context, in *CreateDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Get a DeploymentResourcePool. + GetDeploymentResourcePool(ctx context.Context, in *GetDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*DeploymentResourcePool, error) + // List DeploymentResourcePools in a location. + ListDeploymentResourcePools(ctx context.Context, in *ListDeploymentResourcePoolsRequest, opts ...grpc.CallOption) (*ListDeploymentResourcePoolsResponse, error) + // Delete a DeploymentResourcePool. + DeleteDeploymentResourcePool(ctx context.Context, in *DeleteDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // List DeployedModels that have been deployed on this DeploymentResourcePool. + QueryDeployedModels(ctx context.Context, in *QueryDeployedModelsRequest, opts ...grpc.CallOption) (*QueryDeployedModelsResponse, error) +} + +type deploymentResourcePoolServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewDeploymentResourcePoolServiceClient(cc grpc.ClientConnInterface) DeploymentResourcePoolServiceClient { + return &deploymentResourcePoolServiceClient{cc} +} + +func (c *deploymentResourcePoolServiceClient) CreateDeploymentResourcePool(ctx context.Context, in *CreateDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/CreateDeploymentResourcePool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *deploymentResourcePoolServiceClient) GetDeploymentResourcePool(ctx context.Context, in *GetDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*DeploymentResourcePool, error) { + out := new(DeploymentResourcePool) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/GetDeploymentResourcePool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *deploymentResourcePoolServiceClient) ListDeploymentResourcePools(ctx context.Context, in *ListDeploymentResourcePoolsRequest, opts ...grpc.CallOption) (*ListDeploymentResourcePoolsResponse, error) { + out := new(ListDeploymentResourcePoolsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/ListDeploymentResourcePools", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *deploymentResourcePoolServiceClient) DeleteDeploymentResourcePool(ctx context.Context, in *DeleteDeploymentResourcePoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/DeleteDeploymentResourcePool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *deploymentResourcePoolServiceClient) QueryDeployedModels(ctx context.Context, in *QueryDeployedModelsRequest, opts ...grpc.CallOption) (*QueryDeployedModelsResponse, error) { + out := new(QueryDeployedModelsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/QueryDeployedModels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DeploymentResourcePoolServiceServer is the server API for DeploymentResourcePoolService service. +// All implementations must embed UnimplementedDeploymentResourcePoolServiceServer +// for forward compatibility +type DeploymentResourcePoolServiceServer interface { + // Create a DeploymentResourcePool. + CreateDeploymentResourcePool(context.Context, *CreateDeploymentResourcePoolRequest) (*longrunningpb.Operation, error) + // Get a DeploymentResourcePool. + GetDeploymentResourcePool(context.Context, *GetDeploymentResourcePoolRequest) (*DeploymentResourcePool, error) + // List DeploymentResourcePools in a location. + ListDeploymentResourcePools(context.Context, *ListDeploymentResourcePoolsRequest) (*ListDeploymentResourcePoolsResponse, error) + // Delete a DeploymentResourcePool. + DeleteDeploymentResourcePool(context.Context, *DeleteDeploymentResourcePoolRequest) (*longrunningpb.Operation, error) + // List DeployedModels that have been deployed on this DeploymentResourcePool. + QueryDeployedModels(context.Context, *QueryDeployedModelsRequest) (*QueryDeployedModelsResponse, error) + mustEmbedUnimplementedDeploymentResourcePoolServiceServer() +} + +// UnimplementedDeploymentResourcePoolServiceServer must be embedded to have forward compatible implementations. +type UnimplementedDeploymentResourcePoolServiceServer struct { +} + +func (UnimplementedDeploymentResourcePoolServiceServer) CreateDeploymentResourcePool(context.Context, *CreateDeploymentResourcePoolRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDeploymentResourcePool not implemented") +} +func (UnimplementedDeploymentResourcePoolServiceServer) GetDeploymentResourcePool(context.Context, *GetDeploymentResourcePoolRequest) (*DeploymentResourcePool, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDeploymentResourcePool not implemented") +} +func (UnimplementedDeploymentResourcePoolServiceServer) ListDeploymentResourcePools(context.Context, *ListDeploymentResourcePoolsRequest) (*ListDeploymentResourcePoolsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDeploymentResourcePools not implemented") +} +func (UnimplementedDeploymentResourcePoolServiceServer) DeleteDeploymentResourcePool(context.Context, *DeleteDeploymentResourcePoolRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDeploymentResourcePool not implemented") +} +func (UnimplementedDeploymentResourcePoolServiceServer) QueryDeployedModels(context.Context, *QueryDeployedModelsRequest) (*QueryDeployedModelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryDeployedModels not implemented") +} +func (UnimplementedDeploymentResourcePoolServiceServer) mustEmbedUnimplementedDeploymentResourcePoolServiceServer() { +} + +// UnsafeDeploymentResourcePoolServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to DeploymentResourcePoolServiceServer will +// result in compilation errors. +type UnsafeDeploymentResourcePoolServiceServer interface { + mustEmbedUnimplementedDeploymentResourcePoolServiceServer() +} + +func RegisterDeploymentResourcePoolServiceServer(s grpc.ServiceRegistrar, srv DeploymentResourcePoolServiceServer) { + s.RegisterService(&DeploymentResourcePoolService_ServiceDesc, srv) +} + +func _DeploymentResourcePoolService_CreateDeploymentResourcePool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDeploymentResourcePoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentResourcePoolServiceServer).CreateDeploymentResourcePool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/CreateDeploymentResourcePool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentResourcePoolServiceServer).CreateDeploymentResourcePool(ctx, req.(*CreateDeploymentResourcePoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DeploymentResourcePoolService_GetDeploymentResourcePool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDeploymentResourcePoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentResourcePoolServiceServer).GetDeploymentResourcePool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/GetDeploymentResourcePool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentResourcePoolServiceServer).GetDeploymentResourcePool(ctx, req.(*GetDeploymentResourcePoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DeploymentResourcePoolService_ListDeploymentResourcePools_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDeploymentResourcePoolsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentResourcePoolServiceServer).ListDeploymentResourcePools(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/ListDeploymentResourcePools", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentResourcePoolServiceServer).ListDeploymentResourcePools(ctx, req.(*ListDeploymentResourcePoolsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DeploymentResourcePoolService_DeleteDeploymentResourcePool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDeploymentResourcePoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentResourcePoolServiceServer).DeleteDeploymentResourcePool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/DeleteDeploymentResourcePool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentResourcePoolServiceServer).DeleteDeploymentResourcePool(ctx, req.(*DeleteDeploymentResourcePoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DeploymentResourcePoolService_QueryDeployedModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDeployedModelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentResourcePoolServiceServer).QueryDeployedModels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService/QueryDeployedModels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentResourcePoolServiceServer).QueryDeployedModels(ctx, req.(*QueryDeployedModelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// DeploymentResourcePoolService_ServiceDesc is the grpc.ServiceDesc for DeploymentResourcePoolService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var DeploymentResourcePoolService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePoolService", + HandlerType: (*DeploymentResourcePoolServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateDeploymentResourcePool", + Handler: _DeploymentResourcePoolService_CreateDeploymentResourcePool_Handler, + }, + { + MethodName: "GetDeploymentResourcePool", + Handler: _DeploymentResourcePoolService_GetDeploymentResourcePool_Handler, + }, + { + MethodName: "ListDeploymentResourcePools", + Handler: _DeploymentResourcePoolService_ListDeploymentResourcePools_Handler, + }, + { + MethodName: "DeleteDeploymentResourcePool", + Handler: _DeploymentResourcePoolService_DeleteDeploymentResourcePool_Handler, + }, + { + MethodName: "QueryDeployedModels", + Handler: _DeploymentResourcePoolService_QueryDeployedModels_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/deployment_resource_pool_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/encryption_spec.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/encryption_spec.pb.go new file mode 100644 index 0000000000..6c9bc3521d --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/encryption_spec.pb.go @@ -0,0 +1,185 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/encryption_spec.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a customer-managed encryption key spec that can be applied to +// a top-level resource. +type EncryptionSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Cloud KMS resource identifier of the customer managed + // encryption key used to protect a resource. Has the form: + // `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. + // The key needs to be in the same region as where the compute resource is + // created. + KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` +} + +func (x *EncryptionSpec) Reset() { + *x = EncryptionSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EncryptionSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptionSpec) ProtoMessage() {} + +func (x *EncryptionSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_msgTypes[0] + 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 EncryptionSpec.ProtoReflect.Descriptor instead. +func (*EncryptionSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescGZIP(), []int{0} +} + +func (x *EncryptionSpec) GetKmsKeyName() string { + if x != nil { + return x.KmsKeyName + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x22, 0x37, 0x0a, 0x0e, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x25, 0x0a, + 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_goTypes = []interface{}{ + (*EncryptionSpec)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EncryptionSpec); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint.pb.go new file mode 100644 index 0000000000..e174bc50c2 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint.pb.go @@ -0,0 +1,1021 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/endpoint.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Models are deployed into it, and afterwards Endpoint is called to obtain +// predictions and explanations. +type Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Endpoint. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the Endpoint. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the Endpoint. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The models deployed in this Endpoint. + // To add or remove DeployedModels use + // [EndpointService.DeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel] + // and + // [EndpointService.UndeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel] + // respectively. + DeployedModels []*DeployedModel `protobuf:"bytes,4,rep,name=deployed_models,json=deployedModels,proto3" json:"deployed_models,omitempty"` + // A map from a DeployedModel's ID to the percentage of this Endpoint's + // traffic that should be forwarded to that DeployedModel. + // + // If a DeployedModel's ID is not listed in this map, then it receives no + // traffic. + // + // The traffic percentage values must add up to 100, or map must be empty if + // the Endpoint is to not accept any traffic at a moment. + TrafficSplit map[string]int32 `protobuf:"bytes,5,rep,name=traffic_split,json=trafficSplit,proto3" json:"traffic_split,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Endpoints. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this Endpoint was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Endpoint was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Customer-managed encryption key spec for an Endpoint. If set, this + // Endpoint and all sub-resources of this Endpoint will be secured by + // this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,10,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Optional. The full name of the Google Compute Engine + // [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + // to which the Endpoint should be peered. + // + // Private services access must already be configured for the network. If left + // unspecified, the Endpoint is not peered with any network. + // + // Only one of the fields, + // [network][mockgcp.cloud.aiplatform.v1beta1.Endpoint.network] or + // [enable_private_service_connect][mockgcp.cloud.aiplatform.v1beta1.Endpoint.enable_private_service_connect], + // can be set. + // + // [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): + // `projects/{project}/global/networks/{network}`. + // Where `{project}` is a project number, as in `12345`, and `{network}` is + // network name. + Network string `protobuf:"bytes,13,opt,name=network,proto3" json:"network,omitempty"` + // Deprecated: If true, expose the Endpoint via private service connect. + // + // Only one of the fields, + // [network][mockgcp.cloud.aiplatform.v1beta1.Endpoint.network] or + // [enable_private_service_connect][mockgcp.cloud.aiplatform.v1beta1.Endpoint.enable_private_service_connect], + // can be set. + // + // Deprecated: Do not use. + EnablePrivateServiceConnect bool `protobuf:"varint,17,opt,name=enable_private_service_connect,json=enablePrivateServiceConnect,proto3" json:"enable_private_service_connect,omitempty"` + // Output only. Resource name of the Model Monitoring job associated with this + // Endpoint if monitoring is enabled by + // [JobService.CreateModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateModelDeploymentMonitoringJob]. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + ModelDeploymentMonitoringJob string `protobuf:"bytes,14,opt,name=model_deployment_monitoring_job,json=modelDeploymentMonitoringJob,proto3" json:"model_deployment_monitoring_job,omitempty"` + // Configures the request-response logging for online prediction. + PredictRequestResponseLoggingConfig *PredictRequestResponseLoggingConfig `protobuf:"bytes,18,opt,name=predict_request_response_logging_config,json=predictRequestResponseLoggingConfig,proto3" json:"predict_request_response_logging_config,omitempty"` +} + +func (x *Endpoint) Reset() { + *x = Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint) ProtoMessage() {} + +func (x *Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[0] + 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 Endpoint.ProtoReflect.Descriptor instead. +func (*Endpoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescGZIP(), []int{0} +} + +func (x *Endpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Endpoint) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Endpoint) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Endpoint) GetDeployedModels() []*DeployedModel { + if x != nil { + return x.DeployedModels + } + return nil +} + +func (x *Endpoint) GetTrafficSplit() map[string]int32 { + if x != nil { + return x.TrafficSplit + } + return nil +} + +func (x *Endpoint) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Endpoint) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Endpoint) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Endpoint) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Endpoint) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *Endpoint) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +// Deprecated: Do not use. +func (x *Endpoint) GetEnablePrivateServiceConnect() bool { + if x != nil { + return x.EnablePrivateServiceConnect + } + return false +} + +func (x *Endpoint) GetModelDeploymentMonitoringJob() string { + if x != nil { + return x.ModelDeploymentMonitoringJob + } + return "" +} + +func (x *Endpoint) GetPredictRequestResponseLoggingConfig() *PredictRequestResponseLoggingConfig { + if x != nil { + return x.PredictRequestResponseLoggingConfig + } + return nil +} + +// A deployment of a Model. Endpoints contain one or more DeployedModels. +type DeployedModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction (for example, the machine) resources that the DeployedModel + // uses. The user is billed for the resources (at least their minimal amount) + // even if the DeployedModel receives no traffic. + // Not all Models support all resources types. See + // [Model.supported_deployment_resources_types][mockgcp.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types]. + // Required except for Large Model Deploy use cases. + // + // Types that are assignable to PredictionResources: + // + // *DeployedModel_DedicatedResources + // *DeployedModel_AutomaticResources + // *DeployedModel_SharedResources + PredictionResources isDeployedModel_PredictionResources `protobuf_oneof:"prediction_resources"` + // Immutable. The ID of the DeployedModel. If not provided upon deployment, + // Vertex AI will generate a value for this ID. + // + // This value should be 1-10 characters, and valid characters are `/[0-9]/`. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. The resource name of the Model that this is the deployment of. + // Note that the Model may be in a different location than the DeployedModel's + // Endpoint. + // + // The resource name may contain version id or version alias to specify the + // version. + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // + // if no version is specified, the default version will be deployed. + Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The version ID of the model that is deployed. + ModelVersionId string `protobuf:"bytes,18,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` + // The display name of the DeployedModel. If not provided upon creation, + // the Model's display_name is used. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Timestamp when the DeployedModel was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Explanation configuration for this DeployedModel. + // + // When deploying a Model using + // [EndpointService.DeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel], + // this value overrides the value of + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec]. + // All fields of + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // are optional in the request. If a field of + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // is not populated, the value of the same field of + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec] + // is inherited. If the corresponding + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec] + // is not populated, all fields of the + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // will be used for the explanation configuration. + ExplanationSpec *ExplanationSpec `protobuf:"bytes,9,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` + // If true, deploy the model without explainable feature, regardless the + // existence of + // [Model.explanation_spec][mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec] + // or + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]. + DisableExplanations bool `protobuf:"varint,19,opt,name=disable_explanations,json=disableExplanations,proto3" json:"disable_explanations,omitempty"` + // The service account that the DeployedModel's container runs as. Specify the + // email address of the service account. If this service account is not + // specified, the container runs as a service account that doesn't have access + // to the resource project. + // + // Users deploying the Model must have the `iam.serviceAccounts.actAs` + // permission on this service account. + ServiceAccount string `protobuf:"bytes,11,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // If true, the container of the DeployedModel instances will send `stderr` + // and `stdout` streams to Cloud Logging. + // + // Only supported for custom-trained Models and AutoML Tabular Models. + EnableContainerLogging bool `protobuf:"varint,12,opt,name=enable_container_logging,json=enableContainerLogging,proto3" json:"enable_container_logging,omitempty"` + // If true, online prediction access logs are sent to Cloud + // Logging. + // These logs are like standard server access logs, containing + // information like timestamp and latency for each prediction request. + // + // Note that logs may incur a cost, especially if your project + // receives prediction requests at a high queries per second rate (QPS). + // Estimate your costs before enabling this option. + EnableAccessLogging bool `protobuf:"varint,13,opt,name=enable_access_logging,json=enableAccessLogging,proto3" json:"enable_access_logging,omitempty"` + // Output only. Provide paths for users to send predict/explain/health + // requests directly to the deployed model services running on Cloud via + // private services access. This field is populated if + // [network][mockgcp.cloud.aiplatform.v1beta1.Endpoint.network] is configured. + PrivateEndpoints *PrivateEndpoints `protobuf:"bytes,14,opt,name=private_endpoints,json=privateEndpoints,proto3" json:"private_endpoints,omitempty"` +} + +func (x *DeployedModel) Reset() { + *x = DeployedModel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedModel) ProtoMessage() {} + +func (x *DeployedModel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[1] + 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 DeployedModel.ProtoReflect.Descriptor instead. +func (*DeployedModel) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescGZIP(), []int{1} +} + +func (m *DeployedModel) GetPredictionResources() isDeployedModel_PredictionResources { + if m != nil { + return m.PredictionResources + } + return nil +} + +func (x *DeployedModel) GetDedicatedResources() *DedicatedResources { + if x, ok := x.GetPredictionResources().(*DeployedModel_DedicatedResources); ok { + return x.DedicatedResources + } + return nil +} + +func (x *DeployedModel) GetAutomaticResources() *AutomaticResources { + if x, ok := x.GetPredictionResources().(*DeployedModel_AutomaticResources); ok { + return x.AutomaticResources + } + return nil +} + +func (x *DeployedModel) GetSharedResources() string { + if x, ok := x.GetPredictionResources().(*DeployedModel_SharedResources); ok { + return x.SharedResources + } + return "" +} + +func (x *DeployedModel) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeployedModel) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *DeployedModel) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +func (x *DeployedModel) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DeployedModel) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DeployedModel) GetExplanationSpec() *ExplanationSpec { + if x != nil { + return x.ExplanationSpec + } + return nil +} + +func (x *DeployedModel) GetDisableExplanations() bool { + if x != nil { + return x.DisableExplanations + } + return false +} + +func (x *DeployedModel) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *DeployedModel) GetEnableContainerLogging() bool { + if x != nil { + return x.EnableContainerLogging + } + return false +} + +func (x *DeployedModel) GetEnableAccessLogging() bool { + if x != nil { + return x.EnableAccessLogging + } + return false +} + +func (x *DeployedModel) GetPrivateEndpoints() *PrivateEndpoints { + if x != nil { + return x.PrivateEndpoints + } + return nil +} + +type isDeployedModel_PredictionResources interface { + isDeployedModel_PredictionResources() +} + +type DeployedModel_DedicatedResources struct { + // A description of resources that are dedicated to the DeployedModel, and + // that need a higher degree of manual configuration. + DedicatedResources *DedicatedResources `protobuf:"bytes,7,opt,name=dedicated_resources,json=dedicatedResources,proto3,oneof"` +} + +type DeployedModel_AutomaticResources struct { + // A description of resources that to large degree are decided by Vertex + // AI, and require only a modest additional configuration. + AutomaticResources *AutomaticResources `protobuf:"bytes,8,opt,name=automatic_resources,json=automaticResources,proto3,oneof"` +} + +type DeployedModel_SharedResources struct { + // The resource name of the shared DeploymentResourcePool to deploy on. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + SharedResources string `protobuf:"bytes,17,opt,name=shared_resources,json=sharedResources,proto3,oneof"` +} + +func (*DeployedModel_DedicatedResources) isDeployedModel_PredictionResources() {} + +func (*DeployedModel_AutomaticResources) isDeployedModel_PredictionResources() {} + +func (*DeployedModel_SharedResources) isDeployedModel_PredictionResources() {} + +// PrivateEndpoints proto is used to provide paths for users to send +// requests privately. +// To send request via private service access, use predict_http_uri, +// explain_http_uri or health_http_uri. To send request via private service +// connect, use service_attachment. +type PrivateEndpoints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Http(s) path to send prediction requests. + PredictHttpUri string `protobuf:"bytes,1,opt,name=predict_http_uri,json=predictHttpUri,proto3" json:"predict_http_uri,omitempty"` + // Output only. Http(s) path to send explain requests. + ExplainHttpUri string `protobuf:"bytes,2,opt,name=explain_http_uri,json=explainHttpUri,proto3" json:"explain_http_uri,omitempty"` + // Output only. Http(s) path to send health check requests. + HealthHttpUri string `protobuf:"bytes,3,opt,name=health_http_uri,json=healthHttpUri,proto3" json:"health_http_uri,omitempty"` + // Output only. The name of the service attachment resource. Populated if + // private service connect is enabled. + ServiceAttachment string `protobuf:"bytes,4,opt,name=service_attachment,json=serviceAttachment,proto3" json:"service_attachment,omitempty"` +} + +func (x *PrivateEndpoints) Reset() { + *x = PrivateEndpoints{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateEndpoints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateEndpoints) ProtoMessage() {} + +func (x *PrivateEndpoints) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_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 PrivateEndpoints.ProtoReflect.Descriptor instead. +func (*PrivateEndpoints) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescGZIP(), []int{2} +} + +func (x *PrivateEndpoints) GetPredictHttpUri() string { + if x != nil { + return x.PredictHttpUri + } + return "" +} + +func (x *PrivateEndpoints) GetExplainHttpUri() string { + if x != nil { + return x.ExplainHttpUri + } + return "" +} + +func (x *PrivateEndpoints) GetHealthHttpUri() string { + if x != nil { + return x.HealthHttpUri + } + return "" +} + +func (x *PrivateEndpoints) GetServiceAttachment() string { + if x != nil { + return x.ServiceAttachment + } + return "" +} + +// Configuration for logging request-response to a BigQuery table. +type PredictRequestResponseLoggingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If logging is enabled or not. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Percentage of requests to be logged, expressed as a fraction in + // range(0,1]. + SamplingRate float64 `protobuf:"fixed64,2,opt,name=sampling_rate,json=samplingRate,proto3" json:"sampling_rate,omitempty"` + // BigQuery table for logging. + // If only given a project, a new dataset will be created with name + // `logging__` where + // will be made BigQuery-dataset-name compatible (e.g. + // most special characters will become underscores). If no table name is + // given, a new table will be created with name `request_response_logging` + BigqueryDestination *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery_destination,json=bigqueryDestination,proto3" json:"bigquery_destination,omitempty"` +} + +func (x *PredictRequestResponseLoggingConfig) Reset() { + *x = PredictRequestResponseLoggingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictRequestResponseLoggingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictRequestResponseLoggingConfig) ProtoMessage() {} + +func (x *PredictRequestResponseLoggingConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[3] + 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 PredictRequestResponseLoggingConfig.ProtoReflect.Descriptor instead. +func (*PredictRequestResponseLoggingConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescGZIP(), []int{3} +} + +func (x *PredictRequestResponseLoggingConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *PredictRequestResponseLoggingConfig) GetSamplingRate() float64 { + if x != nil { + return x.SamplingRate + } + return 0 +} + +func (x *PredictRequestResponseLoggingConfig) GetBigqueryDestination() *BigQueryDestination { + if x != nil { + return x.BigqueryDestination + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0x22, 0xd7, 0x0a, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x5d, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x12, 0x61, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 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, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 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, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x0f, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x20, 0x0a, + 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x47, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x12, 0x85, 0x01, 0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x03, + 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x1c, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x9b, 0x01, 0x0a, 0x27, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x23, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x3a, 0xb5, 0x01, 0xea, 0x41, 0xb1, 0x01, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x12, 0x4d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x22, 0xd3, 0x07, 0x0a, 0x0d, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x67, 0x0a, + 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, + 0x62, 0x0a, 0x10, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xfa, 0x41, 0x32, 0x0a, 0x30, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x48, 0x00, 0x52, 0x0f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, + 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x65, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, + 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, + 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x48, 0x74, 0x74, + 0x70, 0x55, 0x72, 0x69, 0x12, 0x2b, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, + 0x69, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x23, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x68, 0x0a, 0x14, + 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xe5, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_goTypes = []interface{}{ + (*Endpoint)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Endpoint + (*DeployedModel)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DeployedModel + (*PrivateEndpoints)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.PrivateEndpoints + (*PredictRequestResponseLoggingConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.PredictRequestResponseLoggingConfig + nil, // 4: mockgcp.cloud.aiplatform.v1beta1.Endpoint.TrafficSplitEntry + nil, // 5: mockgcp.cloud.aiplatform.v1beta1.Endpoint.LabelsEntry + (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*DedicatedResources)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + (*AutomaticResources)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + (*ExplanationSpec)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + (*BigQueryDestination)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination +} +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.Endpoint.deployed_models:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split:type_name -> mockgcp.cloud.aiplatform.v1beta1.Endpoint.TrafficSplitEntry + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.Endpoint.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Endpoint.LabelsEntry + 6, // 3: mockgcp.cloud.aiplatform.v1beta1.Endpoint.create_time:type_name -> google.protobuf.Timestamp + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.Endpoint.update_time:type_name -> google.protobuf.Timestamp + 7, // 5: mockgcp.cloud.aiplatform.v1beta1.Endpoint.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 3, // 6: mockgcp.cloud.aiplatform.v1beta1.Endpoint.predict_request_response_logging_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.PredictRequestResponseLoggingConfig + 8, // 7: mockgcp.cloud.aiplatform.v1beta1.DeployedModel.dedicated_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + 9, // 8: mockgcp.cloud.aiplatform.v1beta1.DeployedModel.automatic_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + 6, // 9: mockgcp.cloud.aiplatform.v1beta1.DeployedModel.create_time:type_name -> google.protobuf.Timestamp + 10, // 10: mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + 2, // 11: mockgcp.cloud.aiplatform.v1beta1.DeployedModel.private_endpoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.PrivateEndpoints + 11, // 12: mockgcp.cloud.aiplatform.v1beta1.PredictRequestResponseLoggingConfig.bigquery_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateEndpoints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictRequestResponseLoggingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*DeployedModel_DedicatedResources)(nil), + (*DeployedModel_AutomaticResources)(nil), + (*DeployedModel_SharedResources)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.go new file mode 100644 index 0000000000..7c94b2051a --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.go @@ -0,0 +1,1683 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/endpoint_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [EndpointService.CreateEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.CreateEndpoint]. +type CreateEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the Endpoint in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Endpoint to create. + Endpoint *Endpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Immutable. The ID to use for endpoint, which will become the final + // component of the endpoint resource name. + // If not provided, Vertex AI will generate a value for this ID. + // + // If the first character is a letter, this value may be up to 63 characters, + // and valid characters are `[a-z0-9-]`. The last character must be a letter + // or number. + // + // If the first character is a number, this value may be up to 9 characters, + // and valid characters are `[0-9]` with no leading zeros. + // + // When using HTTP/JSON, this field is populated + // based on a query string argument, such as `?endpoint_id=12345`. This is the + // fallback for fields that are not included in either the URI or the body. + EndpointId string `protobuf:"bytes,4,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` +} + +func (x *CreateEndpointRequest) Reset() { + *x = CreateEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEndpointRequest) ProtoMessage() {} + +func (x *CreateEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[0] + 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 CreateEndpointRequest.ProtoReflect.Descriptor instead. +func (*CreateEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateEndpointRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEndpointRequest) GetEndpoint() *Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +func (x *CreateEndpointRequest) GetEndpointId() string { + if x != nil { + return x.EndpointId + } + return "" +} + +// Runtime operation information for +// [EndpointService.CreateEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.CreateEndpoint]. +type CreateEndpointOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateEndpointOperationMetadata) Reset() { + *x = CreateEndpointOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEndpointOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEndpointOperationMetadata) ProtoMessage() {} + +func (x *CreateEndpointOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[1] + 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 CreateEndpointOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateEndpointOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateEndpointOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [EndpointService.GetEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.GetEndpoint] +type GetEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint resource. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEndpointRequest) Reset() { + *x = GetEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEndpointRequest) ProtoMessage() {} + +func (x *GetEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_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 GetEndpointRequest.ProtoReflect.Descriptor instead. +func (*GetEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EndpointService.ListEndpoints][mockgcp.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints]. +type ListEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // Endpoints. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, + // i.e. the last segment of the Endpoint's [resource + // name][mockgcp.cloud.aiplatform.v1beta1.Endpoint.name]. + // - `display_name` supports = and, != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // - `endpoint=1` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListEndpointsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListEndpointsResponse.next_page_token] + // of the previous + // [EndpointService.ListEndpoints][mockgcp.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListEndpointsRequest) Reset() { + *x = ListEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEndpointsRequest) ProtoMessage() {} + +func (x *ListEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[3] + 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 ListEndpointsRequest.ProtoReflect.Descriptor instead. +func (*ListEndpointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListEndpointsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEndpointsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEndpointsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEndpointsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEndpointsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [EndpointService.ListEndpoints][mockgcp.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints]. +type ListEndpointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Endpoints in the requested page. + Endpoints []*Endpoint `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListEndpointsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListEndpointsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEndpointsResponse) Reset() { + *x = ListEndpointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEndpointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEndpointsResponse) ProtoMessage() {} + +func (x *ListEndpointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[4] + 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 ListEndpointsResponse.ProtoReflect.Descriptor instead. +func (*ListEndpointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListEndpointsResponse) GetEndpoints() []*Endpoint { + if x != nil { + return x.Endpoints + } + return nil +} + +func (x *ListEndpointsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [EndpointService.UpdateEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UpdateEndpoint]. +type UpdateEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Endpoint which replaces the resource on the server. + Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateEndpointRequest) Reset() { + *x = UpdateEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateEndpointRequest) ProtoMessage() {} + +func (x *UpdateEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[5] + 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 UpdateEndpointRequest.ProtoReflect.Descriptor instead. +func (*UpdateEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateEndpointRequest) GetEndpoint() *Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +func (x *UpdateEndpointRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [EndpointService.DeleteEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeleteEndpoint]. +type DeleteEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteEndpointRequest) Reset() { + *x = DeleteEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEndpointRequest) ProtoMessage() {} + +func (x *DeleteEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_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 DeleteEndpointRequest.ProtoReflect.Descriptor instead. +func (*DeleteEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EndpointService.DeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel]. +type DeployModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint resource into which to deploy a Model. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The DeployedModel to be created within the Endpoint. Note that + // [Endpoint.traffic_split][mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split] + // must be updated for the DeployedModel to start receiving traffic, either as + // part of this call, or via + // [EndpointService.UpdateEndpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UpdateEndpoint]. + DeployedModel *DeployedModel `protobuf:"bytes,2,opt,name=deployed_model,json=deployedModel,proto3" json:"deployed_model,omitempty"` + // A map from a DeployedModel's ID to the percentage of this Endpoint's + // traffic that should be forwarded to that DeployedModel. + // + // If this field is non-empty, then the Endpoint's + // [traffic_split][mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split] + // will be overwritten with it. To refer to the ID of the just being deployed + // Model, a "0" should be used, and the actual ID of the new DeployedModel + // will be filled in its place by this method. The traffic percentage values + // must add up to 100. + // + // If this field is empty, then the Endpoint's + // [traffic_split][mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split] is + // not updated. + TrafficSplit map[string]int32 `protobuf:"bytes,3,rep,name=traffic_split,json=trafficSplit,proto3" json:"traffic_split,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *DeployModelRequest) Reset() { + *x = DeployModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployModelRequest) ProtoMessage() {} + +func (x *DeployModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[7] + 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 DeployModelRequest.ProtoReflect.Descriptor instead. +func (*DeployModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{7} +} + +func (x *DeployModelRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *DeployModelRequest) GetDeployedModel() *DeployedModel { + if x != nil { + return x.DeployedModel + } + return nil +} + +func (x *DeployModelRequest) GetTrafficSplit() map[string]int32 { + if x != nil { + return x.TrafficSplit + } + return nil +} + +// Response message for +// [EndpointService.DeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel]. +type DeployModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeployedModel that had been deployed in the Endpoint. + DeployedModel *DeployedModel `protobuf:"bytes,1,opt,name=deployed_model,json=deployedModel,proto3" json:"deployed_model,omitempty"` +} + +func (x *DeployModelResponse) Reset() { + *x = DeployModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployModelResponse) ProtoMessage() {} + +func (x *DeployModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_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 DeployModelResponse.ProtoReflect.Descriptor instead. +func (*DeployModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{8} +} + +func (x *DeployModelResponse) GetDeployedModel() *DeployedModel { + if x != nil { + return x.DeployedModel + } + return nil +} + +// Runtime operation information for +// [EndpointService.DeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel]. +type DeployModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *DeployModelOperationMetadata) Reset() { + *x = DeployModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployModelOperationMetadata) ProtoMessage() {} + +func (x *DeployModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[9] + 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 DeployModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeployModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{9} +} + +func (x *DeployModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [EndpointService.UndeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel]. +type UndeployModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint resource from which to undeploy a Model. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The ID of the DeployedModel to be undeployed from the Endpoint. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // If this field is provided, then the Endpoint's + // [traffic_split][mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split] + // will be overwritten with it. If last DeployedModel is being undeployed from + // the Endpoint, the [Endpoint.traffic_split] will always end up empty when + // this call returns. A DeployedModel will be successfully undeployed only if + // it doesn't have any traffic assigned to it when this method executes, or if + // this field unassigns any traffic to it. + TrafficSplit map[string]int32 `protobuf:"bytes,3,rep,name=traffic_split,json=trafficSplit,proto3" json:"traffic_split,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *UndeployModelRequest) Reset() { + *x = UndeployModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployModelRequest) ProtoMessage() {} + +func (x *UndeployModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[10] + 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 UndeployModelRequest.ProtoReflect.Descriptor instead. +func (*UndeployModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UndeployModelRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *UndeployModelRequest) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *UndeployModelRequest) GetTrafficSplit() map[string]int32 { + if x != nil { + return x.TrafficSplit + } + return nil +} + +// Response message for +// [EndpointService.UndeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel]. +type UndeployModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UndeployModelResponse) Reset() { + *x = UndeployModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployModelResponse) ProtoMessage() {} + +func (x *UndeployModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[11] + 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 UndeployModelResponse.ProtoReflect.Descriptor instead. +func (*UndeployModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{11} +} + +// Runtime operation information for +// [EndpointService.UndeployModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel]. +type UndeployModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UndeployModelOperationMetadata) Reset() { + *x = UndeployModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployModelOperationMetadata) ProtoMessage() {} + +func (x *UndeployModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[12] + 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 UndeployModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*UndeployModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UndeployModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [EndpointService.MutateDeployedModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.MutateDeployedModel]. +type MutateDeployedModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint resource into which to mutate a + // DeployedModel. Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The DeployedModel to be mutated within the Endpoint. Only the + // following fields can be mutated: + // + // * `min_replica_count` in either + // [DedicatedResources][mockgcp.cloud.aiplatform.v1beta1.DedicatedResources] or + // [AutomaticResources][mockgcp.cloud.aiplatform.v1beta1.AutomaticResources] + // * `max_replica_count` in either + // [DedicatedResources][mockgcp.cloud.aiplatform.v1beta1.DedicatedResources] or + // [AutomaticResources][mockgcp.cloud.aiplatform.v1beta1.AutomaticResources] + // * [autoscaling_metric_specs][mockgcp.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs] + // * `disable_container_logging` (v1 only) + // * `enable_container_logging` (v1beta1 only) + DeployedModel *DeployedModel `protobuf:"bytes,2,opt,name=deployed_model,json=deployedModel,proto3" json:"deployed_model,omitempty"` + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *MutateDeployedModelRequest) Reset() { + *x = MutateDeployedModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedModelRequest) ProtoMessage() {} + +func (x *MutateDeployedModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[13] + 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 MutateDeployedModelRequest.ProtoReflect.Descriptor instead. +func (*MutateDeployedModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{13} +} + +func (x *MutateDeployedModelRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *MutateDeployedModelRequest) GetDeployedModel() *DeployedModel { + if x != nil { + return x.DeployedModel + } + return nil +} + +func (x *MutateDeployedModelRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Response message for +// [EndpointService.MutateDeployedModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.MutateDeployedModel]. +type MutateDeployedModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeployedModel that's being mutated. + DeployedModel *DeployedModel `protobuf:"bytes,1,opt,name=deployed_model,json=deployedModel,proto3" json:"deployed_model,omitempty"` +} + +func (x *MutateDeployedModelResponse) Reset() { + *x = MutateDeployedModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedModelResponse) ProtoMessage() {} + +func (x *MutateDeployedModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[14] + 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 MutateDeployedModelResponse.ProtoReflect.Descriptor instead. +func (*MutateDeployedModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{14} +} + +func (x *MutateDeployedModelResponse) GetDeployedModel() *DeployedModel { + if x != nil { + return x.DeployedModel + } + return nil +} + +// Runtime operation information for +// [EndpointService.MutateDeployedModel][mockgcp.cloud.aiplatform.v1beta1.EndpointService.MutateDeployedModel]. +type MutateDeployedModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *MutateDeployedModelOperationMetadata) Reset() { + *x = MutateDeployedModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedModelOperationMetadata) ProtoMessage() {} + +func (x *MutateDeployedModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_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 MutateDeployedModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*MutateDeployedModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP(), []int{15} +} + +func (x *MutateDeployedModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xcd, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, + 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, + 0xa6, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x57, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xe7, 0x02, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, + 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, + 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x72, + 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x13, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0d, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x85, 0x01, 0x0a, 0x1c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xbf, 0x02, 0x0a, 0x14, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, + 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, + 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, + 0x6c, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x01, + 0x0a, 0x1e, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x83, 0x02, 0x0a, 0x1a, 0x4d, 0x75, 0x74, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, + 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x5b, + 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x75, 0x0a, + 0x1b, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, + 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x32, 0x98, 0x10, 0x0a, 0x0f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0xa2, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x32, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x3a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x1b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x2b, 0x0a, 0x08, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc5, 0x01, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x32, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x14, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x12, 0xde, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x90, 0x02, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 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, 0xab, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x25, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0xca, 0x41, 0x33, 0x0a, 0x13, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9d, 0x02, 0x0a, 0x0d, 0x55, 0x6e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0xb4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x3a, + 0x01, 0x2a, 0xda, 0x41, 0x28, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x2c, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0xca, 0x41, 0x37, + 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb6, 0x02, 0x0a, 0x13, 0x4d, 0x75, 0x74, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0xc1, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x75, + 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x23, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x4d, + 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x4d, 0x75, 0x74, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, + 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_goTypes = []interface{}{ + (*CreateEndpointRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateEndpointRequest + (*CreateEndpointOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateEndpointOperationMetadata + (*GetEndpointRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetEndpointRequest + (*ListEndpointsRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListEndpointsRequest + (*ListEndpointsResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListEndpointsResponse + (*UpdateEndpointRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateEndpointRequest + (*DeleteEndpointRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeleteEndpointRequest + (*DeployModelRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest + (*DeployModelResponse)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.DeployModelResponse + (*DeployModelOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.DeployModelOperationMetadata + (*UndeployModelRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.UndeployModelRequest + (*UndeployModelResponse)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.UndeployModelResponse + (*UndeployModelOperationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.UndeployModelOperationMetadata + (*MutateDeployedModelRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelRequest + (*MutateDeployedModelResponse)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelResponse + (*MutateDeployedModelOperationMetadata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelOperationMetadata + nil, // 16: mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.TrafficSplitEntry + nil, // 17: mockgcp.cloud.aiplatform.v1beta1.UndeployModelRequest.TrafficSplitEntry + (*Endpoint)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.Endpoint + (*GenericOperationMetadata)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 20: google.protobuf.FieldMask + (*DeployedModel)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.DeployedModel + (*longrunningpb.Operation)(nil), // 22: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_depIdxs = []int32{ + 18, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateEndpointRequest.endpoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.Endpoint + 19, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateEndpointOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 20, // 2: mockgcp.cloud.aiplatform.v1beta1.ListEndpointsRequest.read_mask:type_name -> google.protobuf.FieldMask + 18, // 3: mockgcp.cloud.aiplatform.v1beta1.ListEndpointsResponse.endpoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.Endpoint + 18, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateEndpointRequest.endpoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.Endpoint + 20, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateEndpointRequest.update_mask:type_name -> google.protobuf.FieldMask + 21, // 6: mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 16, // 7: mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.traffic_split:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.TrafficSplitEntry + 21, // 8: mockgcp.cloud.aiplatform.v1beta1.DeployModelResponse.deployed_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 19, // 9: mockgcp.cloud.aiplatform.v1beta1.DeployModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 17, // 10: mockgcp.cloud.aiplatform.v1beta1.UndeployModelRequest.traffic_split:type_name -> mockgcp.cloud.aiplatform.v1beta1.UndeployModelRequest.TrafficSplitEntry + 19, // 11: mockgcp.cloud.aiplatform.v1beta1.UndeployModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 21, // 12: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelRequest.deployed_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 20, // 13: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelRequest.update_mask:type_name -> google.protobuf.FieldMask + 21, // 14: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelResponse.deployed_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModel + 19, // 15: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 16: mockgcp.cloud.aiplatform.v1beta1.EndpointService.CreateEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateEndpointRequest + 2, // 17: mockgcp.cloud.aiplatform.v1beta1.EndpointService.GetEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetEndpointRequest + 3, // 18: mockgcp.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListEndpointsRequest + 5, // 19: mockgcp.cloud.aiplatform.v1beta1.EndpointService.UpdateEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateEndpointRequest + 6, // 20: mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeleteEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteEndpointRequest + 7, // 21: mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest + 10, // 22: mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.UndeployModelRequest + 13, // 23: mockgcp.cloud.aiplatform.v1beta1.EndpointService.MutateDeployedModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.MutateDeployedModelRequest + 22, // 24: mockgcp.cloud.aiplatform.v1beta1.EndpointService.CreateEndpoint:output_type -> google.longrunning.Operation + 18, // 25: mockgcp.cloud.aiplatform.v1beta1.EndpointService.GetEndpoint:output_type -> mockgcp.cloud.aiplatform.v1beta1.Endpoint + 4, // 26: mockgcp.cloud.aiplatform.v1beta1.EndpointService.ListEndpoints:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListEndpointsResponse + 18, // 27: mockgcp.cloud.aiplatform.v1beta1.EndpointService.UpdateEndpoint:output_type -> mockgcp.cloud.aiplatform.v1beta1.Endpoint + 22, // 28: mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeleteEndpoint:output_type -> google.longrunning.Operation + 22, // 29: mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel:output_type -> google.longrunning.Operation + 22, // 30: mockgcp.cloud.aiplatform.v1beta1.EndpointService.UndeployModel:output_type -> google.longrunning.Operation + 22, // 31: mockgcp.cloud.aiplatform.v1beta1.EndpointService.MutateDeployedModel:output_type -> google.longrunning.Operation + 24, // [24:32] is the sub-list for method output_type + 16, // [16:24] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEndpointOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEndpointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployModelOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployModelOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedModelOperationMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 18, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_endpoint_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.gw.go new file mode 100644 index 0000000000..cab6ad3795 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service.pb.gw.go @@ -0,0 +1,1058 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/endpoint_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_EndpointService_CreateEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"endpoint": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_EndpointService_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Endpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_CreateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Endpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_CreateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_EndpointService_ListEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_EndpointService_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEndpointsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_ListEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEndpointsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_ListEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListEndpoints(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_EndpointService_UpdateEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"endpoint": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_EndpointService_UpdateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Endpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Endpoint); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "endpoint.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_UpdateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_UpdateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Endpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Endpoint); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "endpoint.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_EndpointService_UpdateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_DeployModel_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeployModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.DeployModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_DeployModel_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeployModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.DeployModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_UndeployModel_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UndeployModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.UndeployModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_UndeployModel_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UndeployModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.UndeployModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_EndpointService_MutateDeployedModel_0(ctx context.Context, marshaler runtime.Marshaler, client EndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MutateDeployedModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.MutateDeployedModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_EndpointService_MutateDeployedModel_0(ctx context.Context, marshaler runtime.Marshaler, server EndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MutateDeployedModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.MutateDeployedModel(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterEndpointServiceHandlerServer registers the http handlers for service EndpointService to "mux". +// UnaryRPC :call EndpointServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterEndpointServiceHandlerFromEndpoint instead. +func RegisterEndpointServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server EndpointServiceServer) error { + + mux.Handle("POST", pattern_EndpointService_CreateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/CreateEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_CreateEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/GetEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_GetEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_ListEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/ListEndpoints", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_ListEndpoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_EndpointService_UpdateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{endpoint.name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_UpdateEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_UpdateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_EndpointService_DeleteEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_DeleteEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_DeployModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeployModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:deployModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_DeployModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeployModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_UndeployModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UndeployModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:undeployModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_UndeployModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_UndeployModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_MutateDeployedModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/MutateDeployedModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:mutateDeployedModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EndpointService_MutateDeployedModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_MutateDeployedModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterEndpointServiceHandlerFromEndpoint is same as RegisterEndpointServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterEndpointServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterEndpointServiceHandler(ctx, mux, conn) +} + +// RegisterEndpointServiceHandler registers the http handlers for service EndpointService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterEndpointServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterEndpointServiceHandlerClient(ctx, mux, NewEndpointServiceClient(conn)) +} + +// RegisterEndpointServiceHandlerClient registers the http handlers for service EndpointService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "EndpointServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "EndpointServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "EndpointServiceClient" to call the correct interceptors. +func RegisterEndpointServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client EndpointServiceClient) error { + + mux.Handle("POST", pattern_EndpointService_CreateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/CreateEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_CreateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_GetEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/GetEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_GetEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_EndpointService_ListEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/ListEndpoints", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_ListEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_EndpointService_UpdateEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UpdateEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{endpoint.name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_UpdateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_UpdateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_EndpointService_DeleteEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_DeleteEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_DeployModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeployModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:deployModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_DeployModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_DeployModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_UndeployModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UndeployModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:undeployModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_UndeployModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_UndeployModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_EndpointService_MutateDeployedModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/MutateDeployedModel", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:mutateDeployedModel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EndpointService_MutateDeployedModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_EndpointService_MutateDeployedModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_EndpointService_CreateEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "endpoints"}, "")) + + pattern_EndpointService_GetEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "name"}, "")) + + pattern_EndpointService_ListEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "endpoints"}, "")) + + pattern_EndpointService_UpdateEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint.name"}, "")) + + pattern_EndpointService_DeleteEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "name"}, "")) + + pattern_EndpointService_DeployModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "deployModel")) + + pattern_EndpointService_UndeployModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "undeployModel")) + + pattern_EndpointService_MutateDeployedModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "mutateDeployedModel")) +) + +var ( + forward_EndpointService_CreateEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_GetEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_ListEndpoints_0 = runtime.ForwardResponseMessage + + forward_EndpointService_UpdateEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_DeleteEndpoint_0 = runtime.ForwardResponseMessage + + forward_EndpointService_DeployModel_0 = runtime.ForwardResponseMessage + + forward_EndpointService_UndeployModel_0 = runtime.ForwardResponseMessage + + forward_EndpointService_MutateDeployedModel_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service_grpc.pb.go new file mode 100644 index 0000000000..ef6e4be6a6 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/endpoint_service_grpc.pb.go @@ -0,0 +1,382 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/endpoint_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// EndpointServiceClient is the client API for EndpointService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type EndpointServiceClient interface { + // Creates an Endpoint. + CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets an Endpoint. + GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) + // Lists Endpoints in a Location. + ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) + // Updates an Endpoint. + UpdateEndpoint(ctx context.Context, in *UpdateEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) + // Deletes an Endpoint. + DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deploys a Model into this Endpoint, creating a DeployedModel within it. + DeployModel(ctx context.Context, in *DeployModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Undeploys a Model from an Endpoint, removing a DeployedModel from it, and + // freeing all resources it's using. + UndeployModel(ctx context.Context, in *UndeployModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an existing deployed model. Updatable fields include + // `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`, + // `disable_container_logging` (v1 only), and `enable_container_logging` + // (v1beta1 only). + MutateDeployedModel(ctx context.Context, in *MutateDeployedModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type endpointServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewEndpointServiceClient(cc grpc.ClientConnInterface) EndpointServiceClient { + return &endpointServiceClient{cc} +} + +func (c *endpointServiceClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/CreateEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) { + out := new(Endpoint) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/GetEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) { + out := new(ListEndpointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/ListEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) UpdateEndpoint(ctx context.Context, in *UpdateEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) { + out := new(Endpoint) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UpdateEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeleteEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) DeployModel(ctx context.Context, in *DeployModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeployModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) UndeployModel(ctx context.Context, in *UndeployModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UndeployModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *endpointServiceClient) MutateDeployedModel(ctx context.Context, in *MutateDeployedModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/MutateDeployedModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// EndpointServiceServer is the server API for EndpointService service. +// All implementations must embed UnimplementedEndpointServiceServer +// for forward compatibility +type EndpointServiceServer interface { + // Creates an Endpoint. + CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) + // Gets an Endpoint. + GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) + // Lists Endpoints in a Location. + ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) + // Updates an Endpoint. + UpdateEndpoint(context.Context, *UpdateEndpointRequest) (*Endpoint, error) + // Deletes an Endpoint. + DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) + // Deploys a Model into this Endpoint, creating a DeployedModel within it. + DeployModel(context.Context, *DeployModelRequest) (*longrunningpb.Operation, error) + // Undeploys a Model from an Endpoint, removing a DeployedModel from it, and + // freeing all resources it's using. + UndeployModel(context.Context, *UndeployModelRequest) (*longrunningpb.Operation, error) + // Updates an existing deployed model. Updatable fields include + // `min_replica_count`, `max_replica_count`, `autoscaling_metric_specs`, + // `disable_container_logging` (v1 only), and `enable_container_logging` + // (v1beta1 only). + MutateDeployedModel(context.Context, *MutateDeployedModelRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedEndpointServiceServer() +} + +// UnimplementedEndpointServiceServer must be embedded to have forward compatible implementations. +type UnimplementedEndpointServiceServer struct { +} + +func (UnimplementedEndpointServiceServer) CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEndpoint not implemented") +} +func (UnimplementedEndpointServiceServer) GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEndpoint not implemented") +} +func (UnimplementedEndpointServiceServer) ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEndpoints not implemented") +} +func (UnimplementedEndpointServiceServer) UpdateEndpoint(context.Context, *UpdateEndpointRequest) (*Endpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEndpoint not implemented") +} +func (UnimplementedEndpointServiceServer) DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEndpoint not implemented") +} +func (UnimplementedEndpointServiceServer) DeployModel(context.Context, *DeployModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeployModel not implemented") +} +func (UnimplementedEndpointServiceServer) UndeployModel(context.Context, *UndeployModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UndeployModel not implemented") +} +func (UnimplementedEndpointServiceServer) MutateDeployedModel(context.Context, *MutateDeployedModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method MutateDeployedModel not implemented") +} +func (UnimplementedEndpointServiceServer) mustEmbedUnimplementedEndpointServiceServer() {} + +// UnsafeEndpointServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to EndpointServiceServer will +// result in compilation errors. +type UnsafeEndpointServiceServer interface { + mustEmbedUnimplementedEndpointServiceServer() +} + +func RegisterEndpointServiceServer(s grpc.ServiceRegistrar, srv EndpointServiceServer) { + s.RegisterService(&EndpointService_ServiceDesc, srv) +} + +func _EndpointService_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).CreateEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/CreateEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).GetEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/GetEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).GetEndpoint(ctx, req.(*GetEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_ListEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEndpointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).ListEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/ListEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).ListEndpoints(ctx, req.(*ListEndpointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_UpdateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).UpdateEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UpdateEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).UpdateEndpoint(ctx, req.(*UpdateEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).DeleteEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeleteEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_DeployModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeployModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).DeployModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/DeployModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).DeployModel(ctx, req.(*DeployModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_UndeployModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UndeployModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).UndeployModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/UndeployModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).UndeployModel(ctx, req.(*UndeployModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EndpointService_MutateDeployedModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MutateDeployedModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndpointServiceServer).MutateDeployedModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.EndpointService/MutateDeployedModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndpointServiceServer).MutateDeployedModel(ctx, req.(*MutateDeployedModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// EndpointService_ServiceDesc is the grpc.ServiceDesc for EndpointService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var EndpointService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.EndpointService", + HandlerType: (*EndpointServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateEndpoint", + Handler: _EndpointService_CreateEndpoint_Handler, + }, + { + MethodName: "GetEndpoint", + Handler: _EndpointService_GetEndpoint_Handler, + }, + { + MethodName: "ListEndpoints", + Handler: _EndpointService_ListEndpoints_Handler, + }, + { + MethodName: "UpdateEndpoint", + Handler: _EndpointService_UpdateEndpoint_Handler, + }, + { + MethodName: "DeleteEndpoint", + Handler: _EndpointService_DeleteEndpoint_Handler, + }, + { + MethodName: "DeployModel", + Handler: _EndpointService_DeployModel_Handler, + }, + { + MethodName: "UndeployModel", + Handler: _EndpointService_UndeployModel_Handler, + }, + { + MethodName: "MutateDeployedModel", + Handler: _EndpointService_MutateDeployedModel_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/endpoint_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/entity_type.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/entity_type.pb.go new file mode 100644 index 0000000000..110d48b329 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/entity_type.pb.go @@ -0,0 +1,332 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/entity_type.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An entity type is a type of object in a system that needs to be modeled and +// have stored information about. For example, driver is an entity type, and +// driver0 is an instance of an entity type driver. +type EntityType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Name of the EntityType. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + // + // The last part entity_type is assigned by the client. The entity_type can be + // up to 64 characters long and can consist only of ASCII Latin letters A-Z + // and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The + // value will be unique given a featurestore. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Description of the EntityType. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when this EntityType was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this EntityType was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // EntityTypes. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one EntityType (System + // labels are excluded)." + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Used to perform a consistent read-modify-write updates. If not + // set, a blind "overwrite" update happens. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The default monitoring configuration for all Features with value + // type + // ([Feature.ValueType][mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType]) + // BOOL, STRING, DOUBLE or INT64 under this EntityType. + // + // If this is populated with + // [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot + // analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is + // disabled. + MonitoringConfig *FeaturestoreMonitoringConfig `protobuf:"bytes,8,opt,name=monitoring_config,json=monitoringConfig,proto3" json:"monitoring_config,omitempty"` + // Optional. Config for data retention policy in offline storage. + // TTL in days for feature values that will be stored in offline storage. + // The Feature Store offline storage periodically removes obsolete feature + // values older than `offline_storage_ttl_days` since the feature generation + // time. If unset (or explicitly set to 0), default to 4000 days TTL. + OfflineStorageTtlDays int32 `protobuf:"varint,10,opt,name=offline_storage_ttl_days,json=offlineStorageTtlDays,proto3" json:"offline_storage_ttl_days,omitempty"` +} + +func (x *EntityType) Reset() { + *x = EntityType{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EntityType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntityType) ProtoMessage() {} + +func (x *EntityType) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_msgTypes[0] + 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 EntityType.ProtoReflect.Descriptor instead. +func (*EntityType) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescGZIP(), []int{0} +} + +func (x *EntityType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EntityType) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EntityType) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EntityType) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *EntityType) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *EntityType) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *EntityType) GetMonitoringConfig() *FeaturestoreMonitoringConfig { + if x != nil { + return x.MonitoringConfig + } + return nil +} + +func (x *EntityType) GetOfflineStorageTtlDays() int32 { + if x != nil { + return x.OfflineStorageTtlDays + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 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, 0x22, 0xb8, 0x05, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x70, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x18, 0x6f, 0x66, 0x66, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x5f, + 0x64, 0x61, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x15, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, + 0x74, 0x6c, 0x44, 0x61, 0x79, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x3a, 0x8a, 0x01, 0xea, 0x41, 0x86, 0x01, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x42, 0xe7, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_goTypes = []interface{}{ + (*EntityType)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.EntityType + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.EntityType.LabelsEntry + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp + (*FeaturestoreMonitoringConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig +} +var file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.EntityType.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.EntityType.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: mockgcp.cloud.aiplatform.v1beta1.EntityType.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.EntityType.LabelsEntry + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.EntityType.monitoring_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntityType); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/env_var.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/env_var.pb.go new file mode 100644 index 0000000000..a8dd7bf474 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/env_var.pb.go @@ -0,0 +1,194 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/env_var.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents an environment variable present in a Container or Python Module. +type EnvVar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the environment variable. Must be a valid C identifier. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Variables that reference a $(VAR_NAME) are expanded + // using the previous defined environment variables in the container and + // any service environment variables. If a variable cannot be resolved, + // the reference in the input string will be unchanged. The $(VAR_NAME) + // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped + // references will never be expanded, regardless of whether the variable + // exists or not. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EnvVar) Reset() { + *x = EnvVar{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvVar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvVar) ProtoMessage() {} + +func (x *EnvVar) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_msgTypes[0] + 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 EnvVar.ProtoReflect.Descriptor instead. +func (*EnvVar) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescGZIP(), []int{0} +} + +func (x *EnvVar) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EnvVar) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_env_var_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x22, 0x3c, 0x0a, 0x06, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 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, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0xe3, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x45, 0x6e, 0x76, 0x56, + 0x61, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_goTypes = []interface{}{ + (*EnvVar)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.EnvVar +} +var file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_env_var_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvVar); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_env_var_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/evaluated_annotation.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/evaluated_annotation.pb.go new file mode 100644 index 0000000000..25d69acee4 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/evaluated_annotation.pb.go @@ -0,0 +1,750 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/evaluated_annotation.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the type of the EvaluatedAnnotation. The type is determined +type EvaluatedAnnotation_EvaluatedAnnotationType int32 + +const ( + // Invalid value. + EvaluatedAnnotation_EVALUATED_ANNOTATION_TYPE_UNSPECIFIED EvaluatedAnnotation_EvaluatedAnnotationType = 0 + // The EvaluatedAnnotation is a true positive. It has a prediction created + // by the Model and a ground truth Annotation which the prediction matches. + EvaluatedAnnotation_TRUE_POSITIVE EvaluatedAnnotation_EvaluatedAnnotationType = 1 + // The EvaluatedAnnotation is false positive. It has a prediction created by + // the Model which does not match any ground truth annotation. + EvaluatedAnnotation_FALSE_POSITIVE EvaluatedAnnotation_EvaluatedAnnotationType = 2 + // The EvaluatedAnnotation is false negative. It has a ground truth + // annotation which is not matched by any of the model created predictions. + EvaluatedAnnotation_FALSE_NEGATIVE EvaluatedAnnotation_EvaluatedAnnotationType = 3 +) + +// Enum value maps for EvaluatedAnnotation_EvaluatedAnnotationType. +var ( + EvaluatedAnnotation_EvaluatedAnnotationType_name = map[int32]string{ + 0: "EVALUATED_ANNOTATION_TYPE_UNSPECIFIED", + 1: "TRUE_POSITIVE", + 2: "FALSE_POSITIVE", + 3: "FALSE_NEGATIVE", + } + EvaluatedAnnotation_EvaluatedAnnotationType_value = map[string]int32{ + "EVALUATED_ANNOTATION_TYPE_UNSPECIFIED": 0, + "TRUE_POSITIVE": 1, + "FALSE_POSITIVE": 2, + "FALSE_NEGATIVE": 3, + } +) + +func (x EvaluatedAnnotation_EvaluatedAnnotationType) Enum() *EvaluatedAnnotation_EvaluatedAnnotationType { + p := new(EvaluatedAnnotation_EvaluatedAnnotationType) + *p = x + return p +} + +func (x EvaluatedAnnotation_EvaluatedAnnotationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluatedAnnotation_EvaluatedAnnotationType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes[0].Descriptor() +} + +func (EvaluatedAnnotation_EvaluatedAnnotationType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes[0] +} + +func (x EvaluatedAnnotation_EvaluatedAnnotationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluatedAnnotation_EvaluatedAnnotationType.Descriptor instead. +func (EvaluatedAnnotation_EvaluatedAnnotationType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{0, 0} +} + +// The query type used for finding the attributed items. +type ErrorAnalysisAnnotation_QueryType int32 + +const ( + // Unspecified query type for model error analysis. + ErrorAnalysisAnnotation_QUERY_TYPE_UNSPECIFIED ErrorAnalysisAnnotation_QueryType = 0 + // Query similar samples across all classes in the dataset. + ErrorAnalysisAnnotation_ALL_SIMILAR ErrorAnalysisAnnotation_QueryType = 1 + // Query similar samples from the same class of the input sample. + ErrorAnalysisAnnotation_SAME_CLASS_SIMILAR ErrorAnalysisAnnotation_QueryType = 2 + // Query dissimilar samples from the same class of the input sample. + ErrorAnalysisAnnotation_SAME_CLASS_DISSIMILAR ErrorAnalysisAnnotation_QueryType = 3 +) + +// Enum value maps for ErrorAnalysisAnnotation_QueryType. +var ( + ErrorAnalysisAnnotation_QueryType_name = map[int32]string{ + 0: "QUERY_TYPE_UNSPECIFIED", + 1: "ALL_SIMILAR", + 2: "SAME_CLASS_SIMILAR", + 3: "SAME_CLASS_DISSIMILAR", + } + ErrorAnalysisAnnotation_QueryType_value = map[string]int32{ + "QUERY_TYPE_UNSPECIFIED": 0, + "ALL_SIMILAR": 1, + "SAME_CLASS_SIMILAR": 2, + "SAME_CLASS_DISSIMILAR": 3, + } +) + +func (x ErrorAnalysisAnnotation_QueryType) Enum() *ErrorAnalysisAnnotation_QueryType { + p := new(ErrorAnalysisAnnotation_QueryType) + *p = x + return p +} + +func (x ErrorAnalysisAnnotation_QueryType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ErrorAnalysisAnnotation_QueryType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes[1].Descriptor() +} + +func (ErrorAnalysisAnnotation_QueryType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes[1] +} + +func (x ErrorAnalysisAnnotation_QueryType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ErrorAnalysisAnnotation_QueryType.Descriptor instead. +func (ErrorAnalysisAnnotation_QueryType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{2, 0} +} + +// True positive, false positive, or false negative. +// +// EvaluatedAnnotation is only available under ModelEvaluationSlice with slice +// of `annotationSpec` dimension. +type EvaluatedAnnotation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Type of the EvaluatedAnnotation. + Type EvaluatedAnnotation_EvaluatedAnnotationType `protobuf:"varint,1,opt,name=type,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation_EvaluatedAnnotationType" json:"type,omitempty"` + // Output only. The model predicted annotations. + // + // For true positive, there is one and only one prediction, which matches the + // only one ground truth annotation in + // [ground_truths][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.ground_truths]. + // + // For false positive, there is one and only one prediction, which doesn't + // match any ground truth annotation of the corresponding + // [data_item_view_id][EvaluatedAnnotation.data_item_view_id]. + // + // For false negative, there are zero or more predictions which are similar to + // the only ground truth annotation in + // [ground_truths][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.ground_truths] + // but not enough for a match. + // + // The schema of the prediction is stored in + // [ModelEvaluation.annotation_schema_uri][] + Predictions []*_struct.Value `protobuf:"bytes,2,rep,name=predictions,proto3" json:"predictions,omitempty"` + // Output only. The ground truth Annotations, i.e. the Annotations that exist + // in the test data the Model is evaluated on. + // + // For true positive, there is one and only one ground truth annotation, which + // matches the only prediction in + // [predictions][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.predictions]. + // + // For false positive, there are zero or more ground truth annotations that + // are similar to the only prediction in + // [predictions][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.predictions], + // but not enough for a match. + // + // For false negative, there is one and only one ground truth annotation, + // which doesn't match any predictions created by the model. + // + // The schema of the ground truth is stored in + // [ModelEvaluation.annotation_schema_uri][] + GroundTruths []*_struct.Value `protobuf:"bytes,3,rep,name=ground_truths,json=groundTruths,proto3" json:"ground_truths,omitempty"` + // Output only. The data item payload that the Model predicted this + // EvaluatedAnnotation on. + DataItemPayload *_struct.Value `protobuf:"bytes,5,opt,name=data_item_payload,json=dataItemPayload,proto3" json:"data_item_payload,omitempty"` + // Output only. ID of the EvaluatedDataItemView under the same ancestor + // ModelEvaluation. The EvaluatedDataItemView consists of all ground truths + // and predictions on + // [data_item_payload][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.data_item_payload]. + EvaluatedDataItemViewId string `protobuf:"bytes,6,opt,name=evaluated_data_item_view_id,json=evaluatedDataItemViewId,proto3" json:"evaluated_data_item_view_id,omitempty"` + // Explanations of + // [predictions][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.predictions]. + // Each element of the explanations indicates the explanation for one + // explanation Method. + // + // The attributions list in the + // [EvaluatedAnnotationExplanation.explanation][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotationExplanation.explanation] + // object corresponds to the + // [predictions][mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.predictions] + // list. For example, the second element in the attributions list explains the + // second element in the predictions list. + Explanations []*EvaluatedAnnotationExplanation `protobuf:"bytes,8,rep,name=explanations,proto3" json:"explanations,omitempty"` + // Annotations of model error analysis results. + ErrorAnalysisAnnotations []*ErrorAnalysisAnnotation `protobuf:"bytes,9,rep,name=error_analysis_annotations,json=errorAnalysisAnnotations,proto3" json:"error_analysis_annotations,omitempty"` +} + +func (x *EvaluatedAnnotation) Reset() { + *x = EvaluatedAnnotation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvaluatedAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluatedAnnotation) ProtoMessage() {} + +func (x *EvaluatedAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[0] + 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 EvaluatedAnnotation.ProtoReflect.Descriptor instead. +func (*EvaluatedAnnotation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{0} +} + +func (x *EvaluatedAnnotation) GetType() EvaluatedAnnotation_EvaluatedAnnotationType { + if x != nil { + return x.Type + } + return EvaluatedAnnotation_EVALUATED_ANNOTATION_TYPE_UNSPECIFIED +} + +func (x *EvaluatedAnnotation) GetPredictions() []*_struct.Value { + if x != nil { + return x.Predictions + } + return nil +} + +func (x *EvaluatedAnnotation) GetGroundTruths() []*_struct.Value { + if x != nil { + return x.GroundTruths + } + return nil +} + +func (x *EvaluatedAnnotation) GetDataItemPayload() *_struct.Value { + if x != nil { + return x.DataItemPayload + } + return nil +} + +func (x *EvaluatedAnnotation) GetEvaluatedDataItemViewId() string { + if x != nil { + return x.EvaluatedDataItemViewId + } + return "" +} + +func (x *EvaluatedAnnotation) GetExplanations() []*EvaluatedAnnotationExplanation { + if x != nil { + return x.Explanations + } + return nil +} + +func (x *EvaluatedAnnotation) GetErrorAnalysisAnnotations() []*ErrorAnalysisAnnotation { + if x != nil { + return x.ErrorAnalysisAnnotations + } + return nil +} + +// Explanation result of the prediction produced by the Model. +type EvaluatedAnnotationExplanation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Explanation type. + // + // For AutoML Image Classification models, possible values are: + // + // - `image-integrated-gradients` + // - `image-xrai` + ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` + // Explanation attribution response details. + Explanation *Explanation `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluatedAnnotationExplanation) Reset() { + *x = EvaluatedAnnotationExplanation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EvaluatedAnnotationExplanation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluatedAnnotationExplanation) ProtoMessage() {} + +func (x *EvaluatedAnnotationExplanation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[1] + 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 EvaluatedAnnotationExplanation.ProtoReflect.Descriptor instead. +func (*EvaluatedAnnotationExplanation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{1} +} + +func (x *EvaluatedAnnotationExplanation) GetExplanationType() string { + if x != nil { + return x.ExplanationType + } + return "" +} + +func (x *EvaluatedAnnotationExplanation) GetExplanation() *Explanation { + if x != nil { + return x.Explanation + } + return nil +} + +// Model error analysis for each annotation. +type ErrorAnalysisAnnotation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Attributed items for a given annotation, typically representing neighbors + // from the training sets constrained by the query type. + AttributedItems []*ErrorAnalysisAnnotation_AttributedItem `protobuf:"bytes,1,rep,name=attributed_items,json=attributedItems,proto3" json:"attributed_items,omitempty"` + // The query type used for finding the attributed items. + QueryType ErrorAnalysisAnnotation_QueryType `protobuf:"varint,2,opt,name=query_type,json=queryType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation_QueryType" json:"query_type,omitempty"` + // The outlier score of this annotated item. Usually defined as the min of all + // distances from attributed items. + OutlierScore float64 `protobuf:"fixed64,3,opt,name=outlier_score,json=outlierScore,proto3" json:"outlier_score,omitempty"` + // The threshold used to determine if this annotation is an outlier or not. + OutlierThreshold float64 `protobuf:"fixed64,4,opt,name=outlier_threshold,json=outlierThreshold,proto3" json:"outlier_threshold,omitempty"` +} + +func (x *ErrorAnalysisAnnotation) Reset() { + *x = ErrorAnalysisAnnotation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorAnalysisAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorAnalysisAnnotation) ProtoMessage() {} + +func (x *ErrorAnalysisAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_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 ErrorAnalysisAnnotation.ProtoReflect.Descriptor instead. +func (*ErrorAnalysisAnnotation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{2} +} + +func (x *ErrorAnalysisAnnotation) GetAttributedItems() []*ErrorAnalysisAnnotation_AttributedItem { + if x != nil { + return x.AttributedItems + } + return nil +} + +func (x *ErrorAnalysisAnnotation) GetQueryType() ErrorAnalysisAnnotation_QueryType { + if x != nil { + return x.QueryType + } + return ErrorAnalysisAnnotation_QUERY_TYPE_UNSPECIFIED +} + +func (x *ErrorAnalysisAnnotation) GetOutlierScore() float64 { + if x != nil { + return x.OutlierScore + } + return 0 +} + +func (x *ErrorAnalysisAnnotation) GetOutlierThreshold() float64 { + if x != nil { + return x.OutlierThreshold + } + return 0 +} + +// Attributed items for a given annotation, typically representing neighbors +// from the training sets constrained by the query type. +type ErrorAnalysisAnnotation_AttributedItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The unique ID for each annotation. Used by FE to allocate the annotation + // in DB. + AnnotationResourceName string `protobuf:"bytes,1,opt,name=annotation_resource_name,json=annotationResourceName,proto3" json:"annotation_resource_name,omitempty"` + // The distance of this item to the annotation. + Distance float64 `protobuf:"fixed64,2,opt,name=distance,proto3" json:"distance,omitempty"` +} + +func (x *ErrorAnalysisAnnotation_AttributedItem) Reset() { + *x = ErrorAnalysisAnnotation_AttributedItem{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorAnalysisAnnotation_AttributedItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorAnalysisAnnotation_AttributedItem) ProtoMessage() {} + +func (x *ErrorAnalysisAnnotation_AttributedItem) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[3] + 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 ErrorAnalysisAnnotation_AttributedItem.ProtoReflect.Descriptor instead. +func (*ErrorAnalysisAnnotation_AttributedItem) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *ErrorAnalysisAnnotation_AttributedItem) GetAnnotationResourceName() string { + if x != nil { + return x.AnnotationResourceName + } + return "" +} + +func (x *ErrorAnalysisAnnotation_AttributedItem) GetDistance() float64 { + if x != nil { + return x.Distance + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xea, 0x05, 0x0a, 0x13, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x75, 0x74, + 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, + 0x74, 0x68, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x61, 0x74, + 0x61, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x41, 0x0a, 0x1b, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, + 0x64, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x1a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7f, + 0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x56, 0x41, + 0x4c, 0x55, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x55, 0x45, 0x5f, 0x50, 0x4f, 0x53, + 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x4c, 0x53, 0x45, + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x46, + 0x41, 0x4c, 0x53, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x22, + 0x9c, 0x01, 0x0a, 0x1e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, + 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, + 0x04, 0x0a, 0x17, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x10, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x62, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x6c, + 0x69, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, + 0x69, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x66, 0x0a, 0x0e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x6b, 0x0a, + 0x09, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x49, + 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x41, 0x4d, 0x45, 0x5f, + 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, + 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x49, + 0x53, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x03, 0x42, 0xf0, 0x01, 0x0a, 0x24, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x42, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_goTypes = []interface{}{ + (EvaluatedAnnotation_EvaluatedAnnotationType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.EvaluatedAnnotationType + (ErrorAnalysisAnnotation_QueryType)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.QueryType + (*EvaluatedAnnotation)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation + (*EvaluatedAnnotationExplanation)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotationExplanation + (*ErrorAnalysisAnnotation)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation + (*ErrorAnalysisAnnotation_AttributedItem)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.AttributedItem + (*_struct.Value)(nil), // 6: google.protobuf.Value + (*Explanation)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.Explanation +} +var file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.type:type_name -> mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.EvaluatedAnnotationType + 6, // 1: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.predictions:type_name -> google.protobuf.Value + 6, // 2: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.ground_truths:type_name -> google.protobuf.Value + 6, // 3: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.data_item_payload:type_name -> google.protobuf.Value + 3, // 4: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.explanations:type_name -> mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotationExplanation + 4, // 5: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation.error_analysis_annotations:type_name -> mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation + 7, // 6: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotationExplanation.explanation:type_name -> mockgcp.cloud.aiplatform.v1beta1.Explanation + 5, // 7: mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.attributed_items:type_name -> mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.AttributedItem + 1, // 8: mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.query_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ErrorAnalysisAnnotation.QueryType + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvaluatedAnnotation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EvaluatedAnnotationExplanation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorAnalysisAnnotation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorAnalysisAnnotation_AttributedItem); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/event.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/event.pb.go new file mode 100644 index 0000000000..b1a103b9ed --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/event.pb.go @@ -0,0 +1,318 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/event.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes whether an Event's Artifact is the Execution's input or output. +type Event_Type int32 + +const ( + // Unspecified whether input or output of the Execution. + Event_TYPE_UNSPECIFIED Event_Type = 0 + // An input of the Execution. + Event_INPUT Event_Type = 1 + // An output of the Execution. + Event_OUTPUT Event_Type = 2 +) + +// Enum value maps for Event_Type. +var ( + Event_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "INPUT", + 2: "OUTPUT", + } + Event_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "INPUT": 1, + "OUTPUT": 2, + } +) + +func (x Event_Type) Enum() *Event_Type { + p := new(Event_Type) + *p = x + return p +} + +func (x Event_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Event_Type) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_event_proto_enumTypes[0].Descriptor() +} + +func (Event_Type) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_event_proto_enumTypes[0] +} + +func (x Event_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Event_Type.Descriptor instead. +func (Event_Type) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescGZIP(), []int{0, 0} +} + +// An edge describing the relationship between an Artifact and an Execution in +// a lineage graph. +type Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The relative resource name of the Artifact in the Event. + Artifact string `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Output only. The relative resource name of the Execution in the Event. + Execution string `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // Output only. Time the Event occurred. + EventTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + // Required. The type of the Event. + Type Event_Type `protobuf:"varint,4,opt,name=type,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Event_Type" json:"type,omitempty"` + // The labels with user-defined metadata to annotate Events. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Event (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Event) Reset() { + *x = Event{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_event_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +func (x *Event) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_event_proto_msgTypes[0] + 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 Event.ProtoReflect.Descriptor instead. +func (*Event) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescGZIP(), []int{0} +} + +func (x *Event) GetArtifact() string { + if x != nil { + return x.Artifact + } + return "" +} + +func (x *Event) GetExecution() string { + if x != nil { + return x.Execution + } + return "" +} + +func (x *Event) GetEventTime() *timestamp.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +func (x *Event) GetType() Event_Type { + if x != nil { + return x.Type + } + return Event_TYPE_UNSPECIFIED +} + +func (x *Event) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_event_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x22, 0xde, 0x03, + 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, + 0x49, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x33, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x50, 0x55, 0x54, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x10, 0x02, 0x42, 0xe2, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_event_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_event_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_event_proto_goTypes = []interface{}{ + (Event_Type)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Event.Type + (*Event)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Event + nil, // 2: mockgcp.cloud.aiplatform.v1beta1.Event.LabelsEntry + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_event_proto_depIdxs = []int32{ + 3, // 0: mockgcp.cloud.aiplatform.v1beta1.Event.event_time:type_name -> google.protobuf.Timestamp + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.Event.type:type_name -> mockgcp.cloud.aiplatform.v1beta1.Event.Type + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.Event.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Event.LabelsEntry + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_event_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_event_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_event_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Event); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_event_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_event_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_event_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_event_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_event_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/execution.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/execution.pb.go new file mode 100644 index 0000000000..7c272dc673 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/execution.pb.go @@ -0,0 +1,427 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/execution.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the state of the Execution. +type Execution_State int32 + +const ( + // Unspecified Execution state + Execution_STATE_UNSPECIFIED Execution_State = 0 + // The Execution is new + Execution_NEW Execution_State = 1 + // The Execution is running + Execution_RUNNING Execution_State = 2 + // The Execution has finished running + Execution_COMPLETE Execution_State = 3 + // The Execution has failed + Execution_FAILED Execution_State = 4 + // The Execution completed through Cache hit. + Execution_CACHED Execution_State = 5 + // The Execution was cancelled. + Execution_CANCELLED Execution_State = 6 +) + +// Enum value maps for Execution_State. +var ( + Execution_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "NEW", + 2: "RUNNING", + 3: "COMPLETE", + 4: "FAILED", + 5: "CACHED", + 6: "CANCELLED", + } + Execution_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "NEW": 1, + "RUNNING": 2, + "COMPLETE": 3, + "FAILED": 4, + "CACHED": 5, + "CANCELLED": 6, + } +) + +func (x Execution_State) Enum() *Execution_State { + p := new(Execution_State) + *p = x + return p +} + +func (x Execution_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Execution_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_enumTypes[0].Descriptor() +} + +func (Execution_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_enumTypes[0] +} + +func (x Execution_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Execution_State.Descriptor instead. +func (Execution_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescGZIP(), []int{0, 0} +} + +// Instance of a general execution. +type Execution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Execution. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // User provided display name of the Execution. + // May be up to 128 Unicode characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The state of this Execution. This is a property of the Execution, and does + // not imply or capture any ongoing process. This property is managed by + // clients (such as Vertex AI Pipelines) and the system does not prescribe + // or check the validity of state transitions. + State Execution_State `protobuf:"varint,6,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Execution_State" json:"state,omitempty"` + // An eTag used to perform consistent read-modify-write updates. If not set, a + // blind "overwrite" update happens. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Executions. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Execution (System + // labels are excluded). + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this Execution was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Execution was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The title of the schema describing the metadata. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaTitle string `protobuf:"bytes,13,opt,name=schema_title,json=schemaTitle,proto3" json:"schema_title,omitempty"` + // The version of the schema in `schema_title` to use. + // + // Schema title and version is expected to be registered in earlier Create + // Schema calls. And both are used together as unique identifiers to identify + // schemas within the local metadata store. + SchemaVersion string `protobuf:"bytes,14,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` + // Properties of the Execution. + // Top level metadata keys' heading and trailing spaces will be trimmed. + // The size of this field should not exceed 200KB. + Metadata *_struct.Struct `protobuf:"bytes,15,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Description of the Execution + Description string `protobuf:"bytes,16,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *Execution) Reset() { + *x = Execution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Execution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Execution) ProtoMessage() {} + +func (x *Execution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_msgTypes[0] + 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 Execution.ProtoReflect.Descriptor instead. +func (*Execution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescGZIP(), []int{0} +} + +func (x *Execution) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Execution) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Execution) GetState() Execution_State { + if x != nil { + return x.State + } + return Execution_STATE_UNSPECIFIED +} + +func (x *Execution) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Execution) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Execution) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Execution) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Execution) GetSchemaTitle() string { + if x != nil { + return x.SchemaTitle + } + return "" +} + +func (x *Execution) GetSchemaVersion() string { + if x != nil { + return x.SchemaVersion + } + return "" +} + +func (x *Execution) GetMetadata() *_struct.Struct { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Execution) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_execution_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, + 0xcc, 0x06, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 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, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 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, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x69, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x45, 0x57, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, + 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x43, 0x48, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, + 0x10, 0x06, 0x3a, 0x89, 0x01, 0xea, 0x41, 0x85, 0x01, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0xe6, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_goTypes = []interface{}{ + (Execution_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Execution.State + (*Execution)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Execution + nil, // 2: mockgcp.cloud.aiplatform.v1beta1.Execution.LabelsEntry + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 4: google.protobuf.Struct +} +var file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.Execution.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution.State + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.Execution.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution.LabelsEntry + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.Execution.create_time:type_name -> google.protobuf.Timestamp + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.Execution.update_time:type_name -> google.protobuf.Timestamp + 4, // 4: mockgcp.cloud.aiplatform.v1beta1.Execution.metadata:type_name -> google.protobuf.Struct + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_execution_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Execution); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_execution_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation.pb.go new file mode 100644 index 0000000000..0685e7fd5f --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation.pb.go @@ -0,0 +1,2705 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/explanation.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The format of the input example instances. +type Examples_ExampleGcsSource_DataFormat int32 + +const ( + // Format unspecified, used when unset. + Examples_ExampleGcsSource_DATA_FORMAT_UNSPECIFIED Examples_ExampleGcsSource_DataFormat = 0 + // Examples are stored in JSONL files. + Examples_ExampleGcsSource_JSONL Examples_ExampleGcsSource_DataFormat = 1 +) + +// Enum value maps for Examples_ExampleGcsSource_DataFormat. +var ( + Examples_ExampleGcsSource_DataFormat_name = map[int32]string{ + 0: "DATA_FORMAT_UNSPECIFIED", + 1: "JSONL", + } + Examples_ExampleGcsSource_DataFormat_value = map[string]int32{ + "DATA_FORMAT_UNSPECIFIED": 0, + "JSONL": 1, + } +) + +func (x Examples_ExampleGcsSource_DataFormat) Enum() *Examples_ExampleGcsSource_DataFormat { + p := new(Examples_ExampleGcsSource_DataFormat) + *p = x + return p +} + +func (x Examples_ExampleGcsSource_DataFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Examples_ExampleGcsSource_DataFormat) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[0].Descriptor() +} + +func (Examples_ExampleGcsSource_DataFormat) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[0] +} + +func (x Examples_ExampleGcsSource_DataFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Examples_ExampleGcsSource_DataFormat.Descriptor instead. +func (Examples_ExampleGcsSource_DataFormat) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{12, 0, 0} +} + +// Preset option controlling parameters for query speed-precision trade-off +type Presets_Query int32 + +const ( + // More precise neighbors as a trade-off against slower response. + Presets_PRECISE Presets_Query = 0 + // Faster response as a trade-off against less precise neighbors. + Presets_FAST Presets_Query = 1 +) + +// Enum value maps for Presets_Query. +var ( + Presets_Query_name = map[int32]string{ + 0: "PRECISE", + 1: "FAST", + } + Presets_Query_value = map[string]int32{ + "PRECISE": 0, + "FAST": 1, + } +) + +func (x Presets_Query) Enum() *Presets_Query { + p := new(Presets_Query) + *p = x + return p +} + +func (x Presets_Query) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Presets_Query) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[1].Descriptor() +} + +func (Presets_Query) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[1] +} + +func (x Presets_Query) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Presets_Query.Descriptor instead. +func (Presets_Query) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{13, 0} +} + +// Preset option controlling parameters for different modalities +type Presets_Modality int32 + +const ( + // Should not be set. Added as a recommended best practice for enums + Presets_MODALITY_UNSPECIFIED Presets_Modality = 0 + // IMAGE modality + Presets_IMAGE Presets_Modality = 1 + // TEXT modality + Presets_TEXT Presets_Modality = 2 + // TABULAR modality + Presets_TABULAR Presets_Modality = 3 +) + +// Enum value maps for Presets_Modality. +var ( + Presets_Modality_name = map[int32]string{ + 0: "MODALITY_UNSPECIFIED", + 1: "IMAGE", + 2: "TEXT", + 3: "TABULAR", + } + Presets_Modality_value = map[string]int32{ + "MODALITY_UNSPECIFIED": 0, + "IMAGE": 1, + "TEXT": 2, + "TABULAR": 3, + } +) + +func (x Presets_Modality) Enum() *Presets_Modality { + p := new(Presets_Modality) + *p = x + return p +} + +func (x Presets_Modality) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Presets_Modality) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[2].Descriptor() +} + +func (Presets_Modality) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[2] +} + +func (x Presets_Modality) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Presets_Modality.Descriptor instead. +func (Presets_Modality) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{13, 1} +} + +// Data format enum. +type ExamplesOverride_DataFormat int32 + +const ( + // Unspecified format. Must not be used. + ExamplesOverride_DATA_FORMAT_UNSPECIFIED ExamplesOverride_DataFormat = 0 + // Provided data is a set of model inputs. + ExamplesOverride_INSTANCES ExamplesOverride_DataFormat = 1 + // Provided data is a set of embeddings. + ExamplesOverride_EMBEDDINGS ExamplesOverride_DataFormat = 2 +) + +// Enum value maps for ExamplesOverride_DataFormat. +var ( + ExamplesOverride_DataFormat_name = map[int32]string{ + 0: "DATA_FORMAT_UNSPECIFIED", + 1: "INSTANCES", + 2: "EMBEDDINGS", + } + ExamplesOverride_DataFormat_value = map[string]int32{ + "DATA_FORMAT_UNSPECIFIED": 0, + "INSTANCES": 1, + "EMBEDDINGS": 2, + } +) + +func (x ExamplesOverride_DataFormat) Enum() *ExamplesOverride_DataFormat { + p := new(ExamplesOverride_DataFormat) + *p = x + return p +} + +func (x ExamplesOverride_DataFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExamplesOverride_DataFormat) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[3].Descriptor() +} + +func (ExamplesOverride_DataFormat) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes[3] +} + +func (x ExamplesOverride_DataFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExamplesOverride_DataFormat.Descriptor instead. +func (ExamplesOverride_DataFormat) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{16, 0} +} + +// Explanation of a prediction (provided in +// [PredictResponse.predictions][mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions]) +// produced by the Model on a given +// [instance][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances]. +type Explanation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Feature attributions grouped by predicted outputs. + // + // For Models that predict only one output, such as regression Models that + // predict only one score, there is only one attibution that explains the + // predicted output. For Models that predict multiple outputs, such as + // multiclass Models that predict multiple classes, each element explains one + // specific item. + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // can be used to identify which output this attribution is explaining. + // + // By default, we provide Shapley values for the predicted class. However, + // you can configure the explanation request to generate Shapley values for + // any other classes too. For example, if a model predicts a probability of + // `0.4` for approving a loan application, the model's decision is to reject + // the application since `p(reject) = 0.6 > p(approve) = 0.4`, and the default + // Shapley values would be computed for rejection decision and not approval, + // even though the latter might be the positive class. + // + // If users set + // [ExplanationParameters.top_k][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.top_k], + // the attributions are sorted by + // [instance_output_value][Attributions.instance_output_value] in descending + // order. If + // [ExplanationParameters.output_indices][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices] + // is specified, the attributions are stored by + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // in the same order as they appear in the output_indices. + Attributions []*Attribution `protobuf:"bytes,1,rep,name=attributions,proto3" json:"attributions,omitempty"` + // Output only. List of the nearest neighbors for example-based explanations. + // + // For models deployed with the examples explanations feature enabled, the + // attributions field is empty and instead the neighbors field is populated. + Neighbors []*Neighbor `protobuf:"bytes,2,rep,name=neighbors,proto3" json:"neighbors,omitempty"` +} + +func (x *Explanation) Reset() { + *x = Explanation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Explanation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Explanation) ProtoMessage() {} + +func (x *Explanation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0] + 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 Explanation.ProtoReflect.Descriptor instead. +func (*Explanation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{0} +} + +func (x *Explanation) GetAttributions() []*Attribution { + if x != nil { + return x.Attributions + } + return nil +} + +func (x *Explanation) GetNeighbors() []*Neighbor { + if x != nil { + return x.Neighbors + } + return nil +} + +// Aggregated explanation metrics for a Model over a set of instances. +type ModelExplanation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Aggregated attributions explaining the Model's prediction + // outputs over the set of instances. The attributions are grouped by outputs. + // + // For Models that predict only one output, such as regression Models that + // predict only one score, there is only one attibution that explains the + // predicted output. For Models that predict multiple outputs, such as + // multiclass Models that predict multiple classes, each element explains one + // specific item. + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // can be used to identify which output this attribution is explaining. + // + // The + // [baselineOutputValue][mockgcp.cloud.aiplatform.v1beta1.Attribution.baseline_output_value], + // [instanceOutputValue][mockgcp.cloud.aiplatform.v1beta1.Attribution.instance_output_value] + // and + // [featureAttributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions] + // fields are averaged over the test data. + // + // NOTE: Currently AutoML tabular classification Models produce only one + // attribution, which averages attributions over all the classes it predicts. + // [Attribution.approximation_error][mockgcp.cloud.aiplatform.v1beta1.Attribution.approximation_error] + // is not populated. + MeanAttributions []*Attribution `protobuf:"bytes,1,rep,name=mean_attributions,json=meanAttributions,proto3" json:"mean_attributions,omitempty"` +} + +func (x *ModelExplanation) Reset() { + *x = ModelExplanation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelExplanation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelExplanation) ProtoMessage() {} + +func (x *ModelExplanation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1] + 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 ModelExplanation.ProtoReflect.Descriptor instead. +func (*ModelExplanation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{1} +} + +func (x *ModelExplanation) GetMeanAttributions() []*Attribution { + if x != nil { + return x.MeanAttributions + } + return nil +} + +// Attribution that explains a particular prediction output. +type Attribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Model predicted output if the input instance is constructed + // from the baselines of all the features defined in + // [ExplanationMetadata.inputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + // The field name of the output is determined by the key in + // [ExplanationMetadata.outputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. + // + // If the Model's predicted output has multiple dimensions (rank > 1), this is + // the value in the output located by + // [output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index]. + // + // If there are multiple baselines, their output values are averaged. + BaselineOutputValue float64 `protobuf:"fixed64,1,opt,name=baseline_output_value,json=baselineOutputValue,proto3" json:"baseline_output_value,omitempty"` + // Output only. Model predicted output on the corresponding [explanation + // instance][ExplainRequest.instances]. The field name of the output is + // determined by the key in + // [ExplanationMetadata.outputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. + // + // If the Model predicted output has multiple dimensions, this is the value in + // the output located by + // [output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index]. + InstanceOutputValue float64 `protobuf:"fixed64,2,opt,name=instance_output_value,json=instanceOutputValue,proto3" json:"instance_output_value,omitempty"` + // Output only. Attributions of each explained feature. Features are extracted + // from the [prediction + // instances][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances] + // according to [explanation metadata for + // inputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + // + // The value is a struct, whose keys are the name of the feature. The values + // are how much the feature in the + // [instance][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances] + // contributed to the predicted result. + // + // The format of the value is determined by the feature's input format: + // + // - If the feature is a scalar value, the attribution value is a + // [floating number][google.protobuf.Value.number_value]. + // + // - If the feature is an array of scalar values, the attribution value is + // an [array][google.protobuf.Value.list_value]. + // + // - If the feature is a struct, the attribution value is a + // [struct][google.protobuf.Value.struct_value]. The keys in the + // attribution value struct are the same as the keys in the feature + // struct. The formats of the values in the attribution struct are + // determined by the formats of the values in the feature struct. + // + // The + // [ExplanationMetadata.feature_attributions_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.feature_attributions_schema_uri] + // field, pointed to by the + // [ExplanationSpec][mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec] field of + // the + // [Endpoint.deployed_models][mockgcp.cloud.aiplatform.v1beta1.Endpoint.deployed_models] + // object, points to the schema file that describes the features and their + // attribution values (if it is populated). + FeatureAttributions *_struct.Value `protobuf:"bytes,3,opt,name=feature_attributions,json=featureAttributions,proto3" json:"feature_attributions,omitempty"` + // Output only. The index that locates the explained prediction output. + // + // If the prediction output is a scalar value, output_index is not populated. + // If the prediction output has multiple dimensions, the length of the + // output_index list is the same as the number of dimensions of the output. + // The i-th element in output_index is the element index of the i-th dimension + // of the output vector. Indices start from 0. + OutputIndex []int32 `protobuf:"varint,4,rep,packed,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` + // Output only. The display name of the output identified by + // [output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index]. + // For example, the predicted class name by a multi-classification Model. + // + // This field is only populated iff the Model predicts display names as a + // separate field along with the explained output. The predicted display name + // must has the same shape of the explained output, and can be located using + // output_index. + OutputDisplayName string `protobuf:"bytes,5,opt,name=output_display_name,json=outputDisplayName,proto3" json:"output_display_name,omitempty"` + // Output only. Error of + // [feature_attributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions] + // caused by approximation used in the explanation method. Lower value means + // more precise attributions. + // + // * For Sampled Shapley + // [attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution], + // increasing + // [path_count][mockgcp.cloud.aiplatform.v1beta1.SampledShapleyAttribution.path_count] + // might reduce the error. + // * For Integrated Gradients + // [attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution], + // increasing + // [step_count][mockgcp.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.step_count] + // might reduce the error. + // * For [XRAI + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution], + // increasing + // [step_count][mockgcp.cloud.aiplatform.v1beta1.XraiAttribution.step_count] + // might reduce the error. + // + // See [this introduction](/vertex-ai/docs/explainable-ai/overview) + // for more information. + ApproximationError float64 `protobuf:"fixed64,6,opt,name=approximation_error,json=approximationError,proto3" json:"approximation_error,omitempty"` + // Output only. Name of the explain output. Specified as the key in + // [ExplanationMetadata.outputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs]. + OutputName string `protobuf:"bytes,7,opt,name=output_name,json=outputName,proto3" json:"output_name,omitempty"` +} + +func (x *Attribution) Reset() { + *x = Attribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Attribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Attribution) ProtoMessage() {} + +func (x *Attribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_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 Attribution.ProtoReflect.Descriptor instead. +func (*Attribution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{2} +} + +func (x *Attribution) GetBaselineOutputValue() float64 { + if x != nil { + return x.BaselineOutputValue + } + return 0 +} + +func (x *Attribution) GetInstanceOutputValue() float64 { + if x != nil { + return x.InstanceOutputValue + } + return 0 +} + +func (x *Attribution) GetFeatureAttributions() *_struct.Value { + if x != nil { + return x.FeatureAttributions + } + return nil +} + +func (x *Attribution) GetOutputIndex() []int32 { + if x != nil { + return x.OutputIndex + } + return nil +} + +func (x *Attribution) GetOutputDisplayName() string { + if x != nil { + return x.OutputDisplayName + } + return "" +} + +func (x *Attribution) GetApproximationError() float64 { + if x != nil { + return x.ApproximationError + } + return 0 +} + +func (x *Attribution) GetOutputName() string { + if x != nil { + return x.OutputName + } + return "" +} + +// Neighbors for example-based explanations. +type Neighbor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The neighbor id. + NeighborId string `protobuf:"bytes,1,opt,name=neighbor_id,json=neighborId,proto3" json:"neighbor_id,omitempty"` + // Output only. The neighbor distance. + NeighborDistance float64 `protobuf:"fixed64,2,opt,name=neighbor_distance,json=neighborDistance,proto3" json:"neighbor_distance,omitempty"` +} + +func (x *Neighbor) Reset() { + *x = Neighbor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Neighbor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Neighbor) ProtoMessage() {} + +func (x *Neighbor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3] + 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 Neighbor.ProtoReflect.Descriptor instead. +func (*Neighbor) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{3} +} + +func (x *Neighbor) GetNeighborId() string { + if x != nil { + return x.NeighborId + } + return "" +} + +func (x *Neighbor) GetNeighborDistance() float64 { + if x != nil { + return x.NeighborDistance + } + return 0 +} + +// Specification of Model explanation. +type ExplanationSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parameters that configure explaining of the Model's predictions. + Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + // Optional. Metadata describing the Model's input and output for explanation. + Metadata *ExplanationMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *ExplanationSpec) Reset() { + *x = ExplanationSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationSpec) ProtoMessage() {} + +func (x *ExplanationSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4] + 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 ExplanationSpec.ProtoReflect.Descriptor instead. +func (*ExplanationSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{4} +} + +func (x *ExplanationSpec) GetParameters() *ExplanationParameters { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *ExplanationSpec) GetMetadata() *ExplanationMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +// Parameters to configure explaining for Model's predictions. +type ExplanationParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Method: + // + // *ExplanationParameters_SampledShapleyAttribution + // *ExplanationParameters_IntegratedGradientsAttribution + // *ExplanationParameters_XraiAttribution + // *ExplanationParameters_Examples + Method isExplanationParameters_Method `protobuf_oneof:"method"` + // If populated, returns attributions for top K indices of outputs + // (defaults to 1). Only applies to Models that predicts more than one outputs + // (e,g, multi-class Models). When set to -1, returns explanations for all + // outputs. + TopK int32 `protobuf:"varint,4,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"` + // If populated, only returns attributions that have + // [output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // contained in output_indices. It must be an ndarray of integers, with the + // same shape of the output it's explaining. + // + // If not populated, returns attributions for + // [top_k][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.top_k] + // indices of outputs. If neither top_k nor output_indices is populated, + // returns the argmax index of the outputs. + // + // Only applicable to Models that predict multiple outputs (e,g, multi-class + // Models that predict multiple classes). + OutputIndices *_struct.ListValue `protobuf:"bytes,5,opt,name=output_indices,json=outputIndices,proto3" json:"output_indices,omitempty"` +} + +func (x *ExplanationParameters) Reset() { + *x = ExplanationParameters{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationParameters) ProtoMessage() {} + +func (x *ExplanationParameters) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5] + 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 ExplanationParameters.ProtoReflect.Descriptor instead. +func (*ExplanationParameters) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{5} +} + +func (m *ExplanationParameters) GetMethod() isExplanationParameters_Method { + if m != nil { + return m.Method + } + return nil +} + +func (x *ExplanationParameters) GetSampledShapleyAttribution() *SampledShapleyAttribution { + if x, ok := x.GetMethod().(*ExplanationParameters_SampledShapleyAttribution); ok { + return x.SampledShapleyAttribution + } + return nil +} + +func (x *ExplanationParameters) GetIntegratedGradientsAttribution() *IntegratedGradientsAttribution { + if x, ok := x.GetMethod().(*ExplanationParameters_IntegratedGradientsAttribution); ok { + return x.IntegratedGradientsAttribution + } + return nil +} + +func (x *ExplanationParameters) GetXraiAttribution() *XraiAttribution { + if x, ok := x.GetMethod().(*ExplanationParameters_XraiAttribution); ok { + return x.XraiAttribution + } + return nil +} + +func (x *ExplanationParameters) GetExamples() *Examples { + if x, ok := x.GetMethod().(*ExplanationParameters_Examples); ok { + return x.Examples + } + return nil +} + +func (x *ExplanationParameters) GetTopK() int32 { + if x != nil { + return x.TopK + } + return 0 +} + +func (x *ExplanationParameters) GetOutputIndices() *_struct.ListValue { + if x != nil { + return x.OutputIndices + } + return nil +} + +type isExplanationParameters_Method interface { + isExplanationParameters_Method() +} + +type ExplanationParameters_SampledShapleyAttribution struct { + // An attribution method that approximates Shapley values for features that + // contribute to the label being predicted. A sampling strategy is used to + // approximate the value rather than considering all subsets of features. + // Refer to this paper for model details: https://arxiv.org/abs/1306.4265. + SampledShapleyAttribution *SampledShapleyAttribution `protobuf:"bytes,1,opt,name=sampled_shapley_attribution,json=sampledShapleyAttribution,proto3,oneof"` +} + +type ExplanationParameters_IntegratedGradientsAttribution struct { + // An attribution method that computes Aumann-Shapley values taking + // advantage of the model's fully differentiable structure. Refer to this + // paper for more details: https://arxiv.org/abs/1703.01365 + IntegratedGradientsAttribution *IntegratedGradientsAttribution `protobuf:"bytes,2,opt,name=integrated_gradients_attribution,json=integratedGradientsAttribution,proto3,oneof"` +} + +type ExplanationParameters_XraiAttribution struct { + // An attribution method that redistributes Integrated Gradients + // attribution to segmented regions, taking advantage of the model's fully + // differentiable structure. Refer to this paper for + // more details: https://arxiv.org/abs/1906.02825 + // + // XRAI currently performs better on natural images, like a picture of a + // house or an animal. If the images are taken in artificial environments, + // like a lab or manufacturing line, or from diagnostic equipment, like + // x-rays or quality-control cameras, use Integrated Gradients instead. + XraiAttribution *XraiAttribution `protobuf:"bytes,3,opt,name=xrai_attribution,json=xraiAttribution,proto3,oneof"` +} + +type ExplanationParameters_Examples struct { + // Example-based explanations that returns the nearest neighbors from the + // provided dataset. + Examples *Examples `protobuf:"bytes,7,opt,name=examples,proto3,oneof"` +} + +func (*ExplanationParameters_SampledShapleyAttribution) isExplanationParameters_Method() {} + +func (*ExplanationParameters_IntegratedGradientsAttribution) isExplanationParameters_Method() {} + +func (*ExplanationParameters_XraiAttribution) isExplanationParameters_Method() {} + +func (*ExplanationParameters_Examples) isExplanationParameters_Method() {} + +// An attribution method that approximates Shapley values for features that +// contribute to the label being predicted. A sampling strategy is used to +// approximate the value rather than considering all subsets of features. +type SampledShapleyAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of feature permutations to consider when approximating + // the Shapley values. + // + // Valid range of its value is [1, 50], inclusively. + PathCount int32 `protobuf:"varint,1,opt,name=path_count,json=pathCount,proto3" json:"path_count,omitempty"` +} + +func (x *SampledShapleyAttribution) Reset() { + *x = SampledShapleyAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SampledShapleyAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SampledShapleyAttribution) ProtoMessage() {} + +func (x *SampledShapleyAttribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_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 SampledShapleyAttribution.ProtoReflect.Descriptor instead. +func (*SampledShapleyAttribution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{6} +} + +func (x *SampledShapleyAttribution) GetPathCount() int32 { + if x != nil { + return x.PathCount + } + return 0 +} + +// An attribution method that computes the Aumann-Shapley value taking advantage +// of the model's fully differentiable structure. Refer to this paper for +// more details: https://arxiv.org/abs/1703.01365 +type IntegratedGradientsAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"` + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"` + // Config for IG with blur baseline. + // + // When enabled, a linear path from the maximally blurred image to the input + // image is created. Using a blurred baseline instead of zero (black image) is + // motivated by the BlurIG approach explained here: + // https://arxiv.org/abs/2004.03383 + BlurBaselineConfig *BlurBaselineConfig `protobuf:"bytes,3,opt,name=blur_baseline_config,json=blurBaselineConfig,proto3" json:"blur_baseline_config,omitempty"` +} + +func (x *IntegratedGradientsAttribution) Reset() { + *x = IntegratedGradientsAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntegratedGradientsAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegratedGradientsAttribution) ProtoMessage() {} + +func (x *IntegratedGradientsAttribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7] + 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 IntegratedGradientsAttribution.ProtoReflect.Descriptor instead. +func (*IntegratedGradientsAttribution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{7} +} + +func (x *IntegratedGradientsAttribution) GetStepCount() int32 { + if x != nil { + return x.StepCount + } + return 0 +} + +func (x *IntegratedGradientsAttribution) GetSmoothGradConfig() *SmoothGradConfig { + if x != nil { + return x.SmoothGradConfig + } + return nil +} + +func (x *IntegratedGradientsAttribution) GetBlurBaselineConfig() *BlurBaselineConfig { + if x != nil { + return x.BlurBaselineConfig + } + return nil +} + +// An explanation method that redistributes Integrated Gradients +// attributions to segmented regions, taking advantage of the model's fully +// differentiable structure. Refer to this paper for more details: +// https://arxiv.org/abs/1906.02825 +// +// Supported only by image Models. +type XraiAttribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of steps for approximating the path integral. + // A good value to start is 50 and gradually increase until the + // sum to diff property is met within the desired error range. + // + // Valid range of its value is [1, 100], inclusively. + StepCount int32 `protobuf:"varint,1,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"` + // Config for SmoothGrad approximation of gradients. + // + // When enabled, the gradients are approximated by averaging the gradients + // from noisy samples in the vicinity of the inputs. Adding + // noise can help improve the computed gradients. Refer to this paper for more + // details: https://arxiv.org/pdf/1706.03825.pdf + SmoothGradConfig *SmoothGradConfig `protobuf:"bytes,2,opt,name=smooth_grad_config,json=smoothGradConfig,proto3" json:"smooth_grad_config,omitempty"` + // Config for XRAI with blur baseline. + // + // When enabled, a linear path from the maximally blurred image to the input + // image is created. Using a blurred baseline instead of zero (black image) is + // motivated by the BlurIG approach explained here: + // https://arxiv.org/abs/2004.03383 + BlurBaselineConfig *BlurBaselineConfig `protobuf:"bytes,3,opt,name=blur_baseline_config,json=blurBaselineConfig,proto3" json:"blur_baseline_config,omitempty"` +} + +func (x *XraiAttribution) Reset() { + *x = XraiAttribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *XraiAttribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XraiAttribution) ProtoMessage() {} + +func (x *XraiAttribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_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 XraiAttribution.ProtoReflect.Descriptor instead. +func (*XraiAttribution) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{8} +} + +func (x *XraiAttribution) GetStepCount() int32 { + if x != nil { + return x.StepCount + } + return 0 +} + +func (x *XraiAttribution) GetSmoothGradConfig() *SmoothGradConfig { + if x != nil { + return x.SmoothGradConfig + } + return nil +} + +func (x *XraiAttribution) GetBlurBaselineConfig() *BlurBaselineConfig { + if x != nil { + return x.BlurBaselineConfig + } + return nil +} + +// Config for SmoothGrad approximation of gradients. +// +// When enabled, the gradients are approximated by averaging the gradients from +// noisy samples in the vicinity of the inputs. Adding noise can help improve +// the computed gradients. Refer to this paper for more details: +// https://arxiv.org/pdf/1706.03825.pdf +type SmoothGradConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Represents the standard deviation of the gaussian kernel + // that will be used to add noise to the interpolated inputs + // prior to computing gradients. + // + // Types that are assignable to GradientNoiseSigma: + // + // *SmoothGradConfig_NoiseSigma + // *SmoothGradConfig_FeatureNoiseSigma + GradientNoiseSigma isSmoothGradConfig_GradientNoiseSigma `protobuf_oneof:"GradientNoiseSigma"` + // The number of gradient samples to use for + // approximation. The higher this number, the more accurate the gradient + // is, but the runtime complexity increases by this factor as well. + // Valid range of its value is [1, 50]. Defaults to 3. + NoisySampleCount int32 `protobuf:"varint,3,opt,name=noisy_sample_count,json=noisySampleCount,proto3" json:"noisy_sample_count,omitempty"` +} + +func (x *SmoothGradConfig) Reset() { + *x = SmoothGradConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SmoothGradConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SmoothGradConfig) ProtoMessage() {} + +func (x *SmoothGradConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9] + 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 SmoothGradConfig.ProtoReflect.Descriptor instead. +func (*SmoothGradConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{9} +} + +func (m *SmoothGradConfig) GetGradientNoiseSigma() isSmoothGradConfig_GradientNoiseSigma { + if m != nil { + return m.GradientNoiseSigma + } + return nil +} + +func (x *SmoothGradConfig) GetNoiseSigma() float32 { + if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_NoiseSigma); ok { + return x.NoiseSigma + } + return 0 +} + +func (x *SmoothGradConfig) GetFeatureNoiseSigma() *FeatureNoiseSigma { + if x, ok := x.GetGradientNoiseSigma().(*SmoothGradConfig_FeatureNoiseSigma); ok { + return x.FeatureNoiseSigma + } + return nil +} + +func (x *SmoothGradConfig) GetNoisySampleCount() int32 { + if x != nil { + return x.NoisySampleCount + } + return 0 +} + +type isSmoothGradConfig_GradientNoiseSigma interface { + isSmoothGradConfig_GradientNoiseSigma() +} + +type SmoothGradConfig_NoiseSigma struct { + // This is a single float value and will be used to add noise to all the + // features. Use this field when all features are normalized to have the + // same distribution: scale to range [0, 1], [-1, 1] or z-scoring, where + // features are normalized to have 0-mean and 1-variance. Learn more about + // [normalization](https://developers.google.com/machine-learning/data-prep/transform/normalization). + // + // For best results the recommended value is about 10% - 20% of the standard + // deviation of the input feature. Refer to section 3.2 of the SmoothGrad + // paper: https://arxiv.org/pdf/1706.03825.pdf. Defaults to 0.1. + // + // If the distribution is different per feature, set + // [feature_noise_sigma][mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma] + // instead for each feature. + NoiseSigma float32 `protobuf:"fixed32,1,opt,name=noise_sigma,json=noiseSigma,proto3,oneof"` +} + +type SmoothGradConfig_FeatureNoiseSigma struct { + // This is similar to + // [noise_sigma][mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma], + // but provides additional flexibility. A separate noise sigma can be + // provided for each feature, which is useful if their distributions are + // different. No noise is added to features that are not set. If this field + // is unset, + // [noise_sigma][mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] + // will be used for all features. + FeatureNoiseSigma *FeatureNoiseSigma `protobuf:"bytes,2,opt,name=feature_noise_sigma,json=featureNoiseSigma,proto3,oneof"` +} + +func (*SmoothGradConfig_NoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {} + +func (*SmoothGradConfig_FeatureNoiseSigma) isSmoothGradConfig_GradientNoiseSigma() {} + +// Noise sigma by features. Noise sigma represents the standard deviation of the +// gaussian kernel that will be used to add noise to interpolated inputs prior +// to computing gradients. +type FeatureNoiseSigma struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Noise sigma per feature. No noise is added to features that are not set. + NoiseSigma []*FeatureNoiseSigma_NoiseSigmaForFeature `protobuf:"bytes,1,rep,name=noise_sigma,json=noiseSigma,proto3" json:"noise_sigma,omitempty"` +} + +func (x *FeatureNoiseSigma) Reset() { + *x = FeatureNoiseSigma{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureNoiseSigma) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureNoiseSigma) ProtoMessage() {} + +func (x *FeatureNoiseSigma) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10] + 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 FeatureNoiseSigma.ProtoReflect.Descriptor instead. +func (*FeatureNoiseSigma) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{10} +} + +func (x *FeatureNoiseSigma) GetNoiseSigma() []*FeatureNoiseSigma_NoiseSigmaForFeature { + if x != nil { + return x.NoiseSigma + } + return nil +} + +// Config for blur baseline. +// +// When enabled, a linear path from the maximally blurred image to the input +// image is created. Using a blurred baseline instead of zero (black image) is +// motivated by the BlurIG approach explained here: +// https://arxiv.org/abs/2004.03383 +type BlurBaselineConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The standard deviation of the blur kernel for the blurred baseline. The + // same blurring parameter is used for both the height and the width + // dimension. If not set, the method defaults to the zero (i.e. black for + // images) baseline. + MaxBlurSigma float32 `protobuf:"fixed32,1,opt,name=max_blur_sigma,json=maxBlurSigma,proto3" json:"max_blur_sigma,omitempty"` +} + +func (x *BlurBaselineConfig) Reset() { + *x = BlurBaselineConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlurBaselineConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlurBaselineConfig) ProtoMessage() {} + +func (x *BlurBaselineConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11] + 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 BlurBaselineConfig.ProtoReflect.Descriptor instead. +func (*BlurBaselineConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{11} +} + +func (x *BlurBaselineConfig) GetMaxBlurSigma() float32 { + if x != nil { + return x.MaxBlurSigma + } + return 0 +} + +// Example-based explainability that returns the nearest neighbors from the +// provided dataset. +type Examples struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Source: + // + // *Examples_ExampleGcsSource_ + Source isExamples_Source `protobuf_oneof:"source"` + // Types that are assignable to Config: + // + // *Examples_NearestNeighborSearchConfig + // *Examples_Presets + Config isExamples_Config `protobuf_oneof:"config"` + // The Cloud Storage locations that contain the instances to be + // indexed for approximate nearest neighbor search. + GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"` + // The number of neighbors to return when querying for examples. + NeighborCount int32 `protobuf:"varint,3,opt,name=neighbor_count,json=neighborCount,proto3" json:"neighbor_count,omitempty"` +} + +func (x *Examples) Reset() { + *x = Examples{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Examples) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Examples) ProtoMessage() {} + +func (x *Examples) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12] + 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 Examples.ProtoReflect.Descriptor instead. +func (*Examples) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{12} +} + +func (m *Examples) GetSource() isExamples_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *Examples) GetExampleGcsSource() *Examples_ExampleGcsSource { + if x, ok := x.GetSource().(*Examples_ExampleGcsSource_); ok { + return x.ExampleGcsSource + } + return nil +} + +func (m *Examples) GetConfig() isExamples_Config { + if m != nil { + return m.Config + } + return nil +} + +func (x *Examples) GetNearestNeighborSearchConfig() *_struct.Value { + if x, ok := x.GetConfig().(*Examples_NearestNeighborSearchConfig); ok { + return x.NearestNeighborSearchConfig + } + return nil +} + +func (x *Examples) GetPresets() *Presets { + if x, ok := x.GetConfig().(*Examples_Presets); ok { + return x.Presets + } + return nil +} + +func (x *Examples) GetGcsSource() *GcsSource { + if x != nil { + return x.GcsSource + } + return nil +} + +func (x *Examples) GetNeighborCount() int32 { + if x != nil { + return x.NeighborCount + } + return 0 +} + +type isExamples_Source interface { + isExamples_Source() +} + +type Examples_ExampleGcsSource_ struct { + // The Cloud Storage input instances. + ExampleGcsSource *Examples_ExampleGcsSource `protobuf:"bytes,5,opt,name=example_gcs_source,json=exampleGcsSource,proto3,oneof"` +} + +func (*Examples_ExampleGcsSource_) isExamples_Source() {} + +type isExamples_Config interface { + isExamples_Config() +} + +type Examples_NearestNeighborSearchConfig struct { + // The full configuration for the generated index, the semantics are the + // same as [metadata][mockgcp.cloud.aiplatform.v1beta1.Index.metadata] and + // should match + // [NearestNeighborSearchConfig](https://cloud.google.com/vertex-ai/docs/explainable-ai/configuring-explanations-example-based#nearest-neighbor-search-config). + NearestNeighborSearchConfig *_struct.Value `protobuf:"bytes,2,opt,name=nearest_neighbor_search_config,json=nearestNeighborSearchConfig,proto3,oneof"` +} + +type Examples_Presets struct { + // Simplified preset configuration, which automatically sets configuration + // values based on the desired query speed-precision trade-off and modality. + Presets *Presets `protobuf:"bytes,4,opt,name=presets,proto3,oneof"` +} + +func (*Examples_NearestNeighborSearchConfig) isExamples_Config() {} + +func (*Examples_Presets) isExamples_Config() {} + +// Preset configuration for example-based explanations +type Presets struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Preset option controlling parameters for speed-precision trade-off when + // querying for examples. If omitted, defaults to `PRECISE`. + Query *Presets_Query `protobuf:"varint,1,opt,name=query,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Presets_Query,oneof" json:"query,omitempty"` + // The modality of the uploaded model, which automatically configures the + // distance measurement and feature normalization for the underlying example + // index and queries. If your model does not precisely fit one of these types, + // it is okay to choose the closest type. + Modality Presets_Modality `protobuf:"varint,2,opt,name=modality,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Presets_Modality" json:"modality,omitempty"` +} + +func (x *Presets) Reset() { + *x = Presets{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Presets) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Presets) ProtoMessage() {} + +func (x *Presets) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13] + 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 Presets.ProtoReflect.Descriptor instead. +func (*Presets) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{13} +} + +func (x *Presets) GetQuery() Presets_Query { + if x != nil && x.Query != nil { + return *x.Query + } + return Presets_PRECISE +} + +func (x *Presets) GetModality() Presets_Modality { + if x != nil { + return x.Modality + } + return Presets_MODALITY_UNSPECIFIED +} + +// The [ExplanationSpec][mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec] +// entries that can be overridden at [online +// explanation][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain] time. +type ExplanationSpecOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The parameters to be overridden. Note that the + // attribution method cannot be changed. If not specified, + // no parameter is overridden. + Parameters *ExplanationParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + // The metadata to be overridden. If not specified, no metadata is overridden. + Metadata *ExplanationMetadataOverride `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The example-based explanations parameter overrides. + ExamplesOverride *ExamplesOverride `protobuf:"bytes,3,opt,name=examples_override,json=examplesOverride,proto3" json:"examples_override,omitempty"` +} + +func (x *ExplanationSpecOverride) Reset() { + *x = ExplanationSpecOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationSpecOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationSpecOverride) ProtoMessage() {} + +func (x *ExplanationSpecOverride) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14] + 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 ExplanationSpecOverride.ProtoReflect.Descriptor instead. +func (*ExplanationSpecOverride) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{14} +} + +func (x *ExplanationSpecOverride) GetParameters() *ExplanationParameters { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *ExplanationSpecOverride) GetMetadata() *ExplanationMetadataOverride { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ExplanationSpecOverride) GetExamplesOverride() *ExamplesOverride { + if x != nil { + return x.ExamplesOverride + } + return nil +} + +// The +// [ExplanationMetadata][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata] +// entries that can be overridden at [online +// explanation][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain] time. +type ExplanationMetadataOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Overrides the [input + // metadata][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs] of + // the features. The key is the name of the feature to be overridden. The keys + // specified here must exist in the input metadata to be overridden. If a + // feature is not specified here, the corresponding feature's input metadata + // is not overridden. + Inputs map[string]*ExplanationMetadataOverride_InputMetadataOverride `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExplanationMetadataOverride) Reset() { + *x = ExplanationMetadataOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadataOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadataOverride) ProtoMessage() {} + +func (x *ExplanationMetadataOverride) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_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 ExplanationMetadataOverride.ProtoReflect.Descriptor instead. +func (*ExplanationMetadataOverride) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{15} +} + +func (x *ExplanationMetadataOverride) GetInputs() map[string]*ExplanationMetadataOverride_InputMetadataOverride { + if x != nil { + return x.Inputs + } + return nil +} + +// Overrides for example-based explanations. +type ExamplesOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of neighbors to return. + NeighborCount int32 `protobuf:"varint,1,opt,name=neighbor_count,json=neighborCount,proto3" json:"neighbor_count,omitempty"` + // The number of neighbors to return that have the same crowding tag. + CrowdingCount int32 `protobuf:"varint,2,opt,name=crowding_count,json=crowdingCount,proto3" json:"crowding_count,omitempty"` + // Restrict the resulting nearest neighbors to respect these constraints. + Restrictions []*ExamplesRestrictionsNamespace `protobuf:"bytes,3,rep,name=restrictions,proto3" json:"restrictions,omitempty"` + // If true, return the embeddings instead of neighbors. + ReturnEmbeddings bool `protobuf:"varint,4,opt,name=return_embeddings,json=returnEmbeddings,proto3" json:"return_embeddings,omitempty"` + // The format of the data being provided with each call. + DataFormat ExamplesOverride_DataFormat `protobuf:"varint,5,opt,name=data_format,json=dataFormat,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride_DataFormat" json:"data_format,omitempty"` +} + +func (x *ExamplesOverride) Reset() { + *x = ExamplesOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExamplesOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExamplesOverride) ProtoMessage() {} + +func (x *ExamplesOverride) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[16] + 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 ExamplesOverride.ProtoReflect.Descriptor instead. +func (*ExamplesOverride) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{16} +} + +func (x *ExamplesOverride) GetNeighborCount() int32 { + if x != nil { + return x.NeighborCount + } + return 0 +} + +func (x *ExamplesOverride) GetCrowdingCount() int32 { + if x != nil { + return x.CrowdingCount + } + return 0 +} + +func (x *ExamplesOverride) GetRestrictions() []*ExamplesRestrictionsNamespace { + if x != nil { + return x.Restrictions + } + return nil +} + +func (x *ExamplesOverride) GetReturnEmbeddings() bool { + if x != nil { + return x.ReturnEmbeddings + } + return false +} + +func (x *ExamplesOverride) GetDataFormat() ExamplesOverride_DataFormat { + if x != nil { + return x.DataFormat + } + return ExamplesOverride_DATA_FORMAT_UNSPECIFIED +} + +// Restrictions namespace for example-based explanations overrides. +type ExamplesRestrictionsNamespace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace name. + NamespaceName string `protobuf:"bytes,1,opt,name=namespace_name,json=namespaceName,proto3" json:"namespace_name,omitempty"` + // The list of allowed tags. + Allow []string `protobuf:"bytes,2,rep,name=allow,proto3" json:"allow,omitempty"` + // The list of deny tags. + Deny []string `protobuf:"bytes,3,rep,name=deny,proto3" json:"deny,omitempty"` +} + +func (x *ExamplesRestrictionsNamespace) Reset() { + *x = ExamplesRestrictionsNamespace{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExamplesRestrictionsNamespace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExamplesRestrictionsNamespace) ProtoMessage() {} + +func (x *ExamplesRestrictionsNamespace) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[17] + 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 ExamplesRestrictionsNamespace.ProtoReflect.Descriptor instead. +func (*ExamplesRestrictionsNamespace) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{17} +} + +func (x *ExamplesRestrictionsNamespace) GetNamespaceName() string { + if x != nil { + return x.NamespaceName + } + return "" +} + +func (x *ExamplesRestrictionsNamespace) GetAllow() []string { + if x != nil { + return x.Allow + } + return nil +} + +func (x *ExamplesRestrictionsNamespace) GetDeny() []string { + if x != nil { + return x.Deny + } + return nil +} + +// Noise sigma for a single feature. +type FeatureNoiseSigma_NoiseSigmaForFeature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the input feature for which noise sigma is provided. The + // features are defined in + // [explanation metadata + // inputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // This represents the standard deviation of the Gaussian kernel that will + // be used to add noise to the feature prior to computing gradients. Similar + // to + // [noise_sigma][mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig.noise_sigma] + // but represents the noise added to the current feature. Defaults to 0.1. + Sigma float32 `protobuf:"fixed32,2,opt,name=sigma,proto3" json:"sigma,omitempty"` +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) Reset() { + *x = FeatureNoiseSigma_NoiseSigmaForFeature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureNoiseSigma_NoiseSigmaForFeature) ProtoMessage() {} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[18] + 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 FeatureNoiseSigma_NoiseSigmaForFeature.ProtoReflect.Descriptor instead. +func (*FeatureNoiseSigma_NoiseSigmaForFeature) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureNoiseSigma_NoiseSigmaForFeature) GetSigma() float32 { + if x != nil { + return x.Sigma + } + return 0 +} + +// The Cloud Storage input instances. +type Examples_ExampleGcsSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The format in which instances are given, if not specified, assume it's + // JSONL format. Currently only JSONL format is supported. + DataFormat Examples_ExampleGcsSource_DataFormat `protobuf:"varint,1,opt,name=data_format,json=dataFormat,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Examples_ExampleGcsSource_DataFormat" json:"data_format,omitempty"` + // The Cloud Storage location for the input instances. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"` +} + +func (x *Examples_ExampleGcsSource) Reset() { + *x = Examples_ExampleGcsSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Examples_ExampleGcsSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Examples_ExampleGcsSource) ProtoMessage() {} + +func (x *Examples_ExampleGcsSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[19] + 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 Examples_ExampleGcsSource.ProtoReflect.Descriptor instead. +func (*Examples_ExampleGcsSource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *Examples_ExampleGcsSource) GetDataFormat() Examples_ExampleGcsSource_DataFormat { + if x != nil { + return x.DataFormat + } + return Examples_ExampleGcsSource_DATA_FORMAT_UNSPECIFIED +} + +func (x *Examples_ExampleGcsSource) GetGcsSource() *GcsSource { + if x != nil { + return x.GcsSource + } + return nil +} + +// The [input +// metadata][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata] +// entries to be overridden. +type ExplanationMetadataOverride_InputMetadataOverride struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Baseline inputs for this feature. + // + // This overrides the `input_baseline` field of the + // [ExplanationMetadata.InputMetadata][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata] + // object of the corresponding feature's input metadata. If it's not + // specified, the original baselines are not overridden. + InputBaselines []*_struct.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"` +} + +func (x *ExplanationMetadataOverride_InputMetadataOverride) Reset() { + *x = ExplanationMetadataOverride_InputMetadataOverride{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadataOverride_InputMetadataOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadataOverride_InputMetadataOverride) ProtoMessage() {} + +func (x *ExplanationMetadataOverride_InputMetadataOverride) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[20] + 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 ExplanationMetadataOverride_InputMetadataOverride.ProtoReflect.Descriptor instead. +func (*ExplanationMetadataOverride_InputMetadataOverride) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP(), []int{15, 0} +} + +func (x *ExplanationMetadataOverride_InputMetadataOverride) GetInputBaselines() []*_struct.Value { + if x != nil { + return x.InputBaselines + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_explanation_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01, + 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, + 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x09, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x73, 0x22, 0x73, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x11, 0x6d, 0x65, 0x61, 0x6e, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x61, 0x6e, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x0b, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x61, 0x73, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x62, + 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x14, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x24, + 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x12, 0x24, 0x0a, 0x0b, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x11, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x56, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x22, 0xb1, 0x04, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7d, 0x0a, 0x1b, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, + 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x19, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8c, 0x01, 0x0a, 0x20, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x69, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x10, 0x78, 0x72, + 0x61, 0x69, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x58, 0x72, 0x61, 0x69, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x78, 0x72, 0x61, 0x69, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, 0x41, 0x0a, 0x0e, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 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, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x3f, 0x0a, 0x19, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x64, 0x53, 0x68, 0x61, 0x70, 0x6c, 0x65, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x61, + 0x74, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, + 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x60, + 0x0a, 0x12, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6d, + 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, + 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x66, 0x0a, 0x14, 0x62, 0x6c, 0x75, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x72, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x62, 0x6c, 0x75, 0x72, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xff, 0x01, 0x0a, 0x0f, 0x58, 0x72, 0x61, + 0x69, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, + 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x60, 0x0a, 0x12, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x66, 0x0a, 0x14, 0x62, 0x6c, 0x75, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x72, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x62, 0x6c, 0x75, 0x72, 0x42, 0x61, 0x73, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe0, 0x01, 0x0a, 0x10, 0x53, + 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x47, 0x72, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x21, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, + 0x6d, 0x61, 0x12, 0x65, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x6f, + 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, + 0x69, 0x67, 0x6d, 0x61, 0x48, 0x00, 0x52, 0x11, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, + 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x69, + 0x73, 0x79, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x64, 0x69, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xc0, 0x01, + 0x0a, 0x11, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, + 0x67, 0x6d, 0x61, 0x12, 0x69, 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x69, 0x67, + 0x6d, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x2e, 0x4e, 0x6f, + 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x1a, 0x40, + 0x0a, 0x14, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, + 0x67, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x69, 0x67, 0x6d, 0x61, + 0x22, 0x3a, 0x0a, 0x12, 0x42, 0x6c, 0x75, 0x72, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6c, + 0x75, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, + 0x6d, 0x61, 0x78, 0x42, 0x6c, 0x75, 0x72, 0x53, 0x69, 0x67, 0x6d, 0x61, 0x22, 0xa4, 0x05, 0x0a, + 0x08, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x12, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x47, 0x63, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x1e, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, + 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x1b, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, + 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x73, 0x48, 0x01, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0a, + 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x67, + 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, + 0xfd, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x47, 0x63, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x47, 0x63, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4a, 0x0a, + 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, + 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x34, 0x0a, 0x0a, 0x44, 0x61, 0x74, + 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x53, 0x4f, 0x4e, 0x4c, 0x10, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x97, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x4a, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, + 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x08, 0x6d, + 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x1e, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x45, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x53, 0x54, 0x10, 0x01, 0x22, 0x46, 0x0a, 0x08, 0x4d, + 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x41, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x41, 0x42, 0x55, 0x4c, 0x41, + 0x52, 0x10, 0x03, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xae, 0x02, + 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x59, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, + 0x11, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x10, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xf0, + 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x66, + 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x1a, 0x58, 0x0a, 0x15, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, + 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x1a, 0x8e, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x69, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x53, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x9c, 0x03, 0x0a, 0x10, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, + 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x63, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5e, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x48, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x02, + 0x22, 0x70, 0x0a, 0x1d, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x12, + 0x0a, 0x04, 0x64, 0x65, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, + 0x6e, 0x79, 0x42, 0xe8, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_goTypes = []interface{}{ + (Examples_ExampleGcsSource_DataFormat)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource.DataFormat + (Presets_Query)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.Presets.Query + (Presets_Modality)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.Presets.Modality + (ExamplesOverride_DataFormat)(0), // 3: mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride.DataFormat + (*Explanation)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.Explanation + (*ModelExplanation)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ModelExplanation + (*Attribution)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.Attribution + (*Neighbor)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.Neighbor + (*ExplanationSpec)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + (*ExplanationParameters)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters + (*SampledShapleyAttribution)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.SampledShapleyAttribution + (*IntegratedGradientsAttribution)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution + (*XraiAttribution)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.XraiAttribution + (*SmoothGradConfig)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig + (*FeatureNoiseSigma)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.FeatureNoiseSigma + (*BlurBaselineConfig)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.BlurBaselineConfig + (*Examples)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.Examples + (*Presets)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.Presets + (*ExplanationSpecOverride)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride + (*ExplanationMetadataOverride)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride + (*ExamplesOverride)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride + (*ExamplesRestrictionsNamespace)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ExamplesRestrictionsNamespace + (*FeatureNoiseSigma_NoiseSigmaForFeature)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature + (*Examples_ExampleGcsSource)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource + (*ExplanationMetadataOverride_InputMetadataOverride)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride + nil, // 25: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry + (*_struct.Value)(nil), // 26: google.protobuf.Value + (*ExplanationMetadata)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata + (*_struct.ListValue)(nil), // 28: google.protobuf.ListValue + (*GcsSource)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.GcsSource +} +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = []int32{ + 6, // 0: mockgcp.cloud.aiplatform.v1beta1.Explanation.attributions:type_name -> mockgcp.cloud.aiplatform.v1beta1.Attribution + 7, // 1: mockgcp.cloud.aiplatform.v1beta1.Explanation.neighbors:type_name -> mockgcp.cloud.aiplatform.v1beta1.Neighbor + 6, // 2: mockgcp.cloud.aiplatform.v1beta1.ModelExplanation.mean_attributions:type_name -> mockgcp.cloud.aiplatform.v1beta1.Attribution + 26, // 3: mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions:type_name -> google.protobuf.Value + 9, // 4: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters + 27, // 5: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec.metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata + 10, // 6: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.sampled_shapley_attribution:type_name -> mockgcp.cloud.aiplatform.v1beta1.SampledShapleyAttribution + 11, // 7: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution:type_name -> mockgcp.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution + 12, // 8: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution:type_name -> mockgcp.cloud.aiplatform.v1beta1.XraiAttribution + 16, // 9: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.examples:type_name -> mockgcp.cloud.aiplatform.v1beta1.Examples + 28, // 10: mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.output_indices:type_name -> google.protobuf.ListValue + 13, // 11: mockgcp.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.smooth_grad_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig + 15, // 12: mockgcp.cloud.aiplatform.v1beta1.IntegratedGradientsAttribution.blur_baseline_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.BlurBaselineConfig + 13, // 13: mockgcp.cloud.aiplatform.v1beta1.XraiAttribution.smooth_grad_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig + 15, // 14: mockgcp.cloud.aiplatform.v1beta1.XraiAttribution.blur_baseline_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.BlurBaselineConfig + 14, // 15: mockgcp.cloud.aiplatform.v1beta1.SmoothGradConfig.feature_noise_sigma:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureNoiseSigma + 22, // 16: mockgcp.cloud.aiplatform.v1beta1.FeatureNoiseSigma.noise_sigma:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureNoiseSigma.NoiseSigmaForFeature + 23, // 17: mockgcp.cloud.aiplatform.v1beta1.Examples.example_gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource + 26, // 18: mockgcp.cloud.aiplatform.v1beta1.Examples.nearest_neighbor_search_config:type_name -> google.protobuf.Value + 17, // 19: mockgcp.cloud.aiplatform.v1beta1.Examples.presets:type_name -> mockgcp.cloud.aiplatform.v1beta1.Presets + 29, // 20: mockgcp.cloud.aiplatform.v1beta1.Examples.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 1, // 21: mockgcp.cloud.aiplatform.v1beta1.Presets.query:type_name -> mockgcp.cloud.aiplatform.v1beta1.Presets.Query + 2, // 22: mockgcp.cloud.aiplatform.v1beta1.Presets.modality:type_name -> mockgcp.cloud.aiplatform.v1beta1.Presets.Modality + 9, // 23: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters + 19, // 24: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride.metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride + 20, // 25: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride.examples_override:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride + 25, // 26: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry + 21, // 27: mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride.restrictions:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExamplesRestrictionsNamespace + 3, // 28: mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride.data_format:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExamplesOverride.DataFormat + 0, // 29: mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource.data_format:type_name -> mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource.DataFormat + 29, // 30: mockgcp.cloud.aiplatform.v1beta1.Examples.ExampleGcsSource.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 26, // 31: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride.input_baselines:type_name -> google.protobuf.Value + 24, // 32: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadataOverride.InputMetadataOverride + 33, // [33:33] is the sub-list for method output_type + 33, // [33:33] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_explanation_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Explanation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelExplanation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Attribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Neighbor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationParameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SampledShapleyAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntegratedGradientsAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XraiAttribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SmoothGradConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureNoiseSigma); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlurBaselineConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Examples); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Presets); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationSpecOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadataOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExamplesOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExamplesRestrictionsNamespace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureNoiseSigma_NoiseSigmaForFeature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Examples_ExampleGcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadataOverride_InputMetadataOverride); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ExplanationParameters_SampledShapleyAttribution)(nil), + (*ExplanationParameters_IntegratedGradientsAttribution)(nil), + (*ExplanationParameters_XraiAttribution)(nil), + (*ExplanationParameters_Examples)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*SmoothGradConfig_NoiseSigma)(nil), + (*SmoothGradConfig_FeatureNoiseSigma)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*Examples_ExampleGcsSource_)(nil), + (*Examples_NearestNeighborSearchConfig)(nil), + (*Examples_Presets)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes[13].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDesc, + NumEnums: 4, + NumMessages: 22, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_explanation_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation_metadata.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation_metadata.pb.go new file mode 100644 index 0000000000..9f03f4837a --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/explanation_metadata.pb.go @@ -0,0 +1,1393 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/explanation_metadata.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Defines how a feature is encoded. Defaults to IDENTITY. +type ExplanationMetadata_InputMetadata_Encoding int32 + +const ( + // Default value. This is the same as IDENTITY. + ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED ExplanationMetadata_InputMetadata_Encoding = 0 + // The tensor represents one feature. + ExplanationMetadata_InputMetadata_IDENTITY ExplanationMetadata_InputMetadata_Encoding = 1 + // The tensor represents a bag of features where each index maps to + // a feature. + // [InputMetadata.index_feature_mapping][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] + // must be provided for this encoding. For example: + // ``` + // input = [27, 6.0, 150] + // index_feature_mapping = ["age", "height", "weight"] + // ``` + ExplanationMetadata_InputMetadata_BAG_OF_FEATURES ExplanationMetadata_InputMetadata_Encoding = 2 + // The tensor represents a bag of features where each index maps to a + // feature. Zero values in the tensor indicates feature being + // non-existent. + // [InputMetadata.index_feature_mapping][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] + // must be provided for this encoding. For example: + // ``` + // input = [2, 0, 5, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + ExplanationMetadata_InputMetadata_BAG_OF_FEATURES_SPARSE ExplanationMetadata_InputMetadata_Encoding = 3 + // The tensor is a list of binaries representing whether a feature exists + // or not (1 indicates existence). + // [InputMetadata.index_feature_mapping][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.index_feature_mapping] + // must be provided for this encoding. For example: + // ``` + // input = [1, 0, 1, 0, 1] + // index_feature_mapping = ["a", "b", "c", "d", "e"] + // ``` + ExplanationMetadata_InputMetadata_INDICATOR ExplanationMetadata_InputMetadata_Encoding = 4 + // The tensor is encoded into a 1-dimensional array represented by an + // encoded tensor. + // [InputMetadata.encoded_tensor_name][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_tensor_name] + // must be provided for this encoding. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [0.1, 0.2, 0.3, 0.4, 0.5] + // ``` + ExplanationMetadata_InputMetadata_COMBINED_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 5 + // Select this encoding when the input tensor is encoded into a + // 2-dimensional array represented by an encoded tensor. + // [InputMetadata.encoded_tensor_name][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_tensor_name] + // must be provided for this encoding. The first dimension of the encoded + // tensor's shape is the same as the input tensor's shape. For example: + // ``` + // input = ["This", "is", "a", "test", "."] + // encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], + // + // [0.2, 0.1, 0.4, 0.3, 0.5], + // [0.5, 0.1, 0.3, 0.5, 0.4], + // [0.5, 0.3, 0.1, 0.2, 0.4], + // [0.4, 0.3, 0.2, 0.5, 0.1]] + // + // ``` + ExplanationMetadata_InputMetadata_CONCAT_EMBEDDING ExplanationMetadata_InputMetadata_Encoding = 6 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Encoding. +var ( + ExplanationMetadata_InputMetadata_Encoding_name = map[int32]string{ + 0: "ENCODING_UNSPECIFIED", + 1: "IDENTITY", + 2: "BAG_OF_FEATURES", + 3: "BAG_OF_FEATURES_SPARSE", + 4: "INDICATOR", + 5: "COMBINED_EMBEDDING", + 6: "CONCAT_EMBEDDING", + } + ExplanationMetadata_InputMetadata_Encoding_value = map[string]int32{ + "ENCODING_UNSPECIFIED": 0, + "IDENTITY": 1, + "BAG_OF_FEATURES": 2, + "BAG_OF_FEATURES_SPARSE": 3, + "INDICATOR": 4, + "COMBINED_EMBEDDING": 5, + "CONCAT_EMBEDDING": 6, + } +) + +func (x ExplanationMetadata_InputMetadata_Encoding) Enum() *ExplanationMetadata_InputMetadata_Encoding { + p := new(ExplanationMetadata_InputMetadata_Encoding) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Encoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Encoding) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[0].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Encoding) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[0] +} + +func (x ExplanationMetadata_InputMetadata_Encoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Encoding.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Encoding) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Type of the image visualization. Only applicable to +// [Integrated Gradients +// attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution]. +type ExplanationMetadata_InputMetadata_Visualization_Type int32 + +const ( + // Should not be used. + ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Type = 0 + // Shows which pixel contributed to the image prediction. + ExplanationMetadata_InputMetadata_Visualization_PIXELS ExplanationMetadata_InputMetadata_Visualization_Type = 1 + // Shows which region contributed to the image prediction by outlining + // the region. + ExplanationMetadata_InputMetadata_Visualization_OUTLINES ExplanationMetadata_InputMetadata_Visualization_Type = 2 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Type. +var ( + ExplanationMetadata_InputMetadata_Visualization_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "PIXELS", + 2: "OUTLINES", + } + ExplanationMetadata_InputMetadata_Visualization_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "PIXELS": 1, + "OUTLINES": 2, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) Enum() *ExplanationMetadata_InputMetadata_Visualization_Type { + p := new(ExplanationMetadata_InputMetadata_Visualization_Type) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_Type) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[1].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_Type) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[1] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Type.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_Type) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 0} +} + +// Whether to only highlight pixels with positive contributions, negative +// or both. Defaults to POSITIVE. +type ExplanationMetadata_InputMetadata_Visualization_Polarity int32 + +const ( + // Default value. This is the same as POSITIVE. + ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_Polarity = 0 + // Highlights the pixels/outlines that were most influential to the + // model's prediction. + ExplanationMetadata_InputMetadata_Visualization_POSITIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 1 + // Setting polarity to negative highlights areas that does not lead to + // the models's current prediction. + ExplanationMetadata_InputMetadata_Visualization_NEGATIVE ExplanationMetadata_InputMetadata_Visualization_Polarity = 2 + // Shows both positive and negative attributions. + ExplanationMetadata_InputMetadata_Visualization_BOTH ExplanationMetadata_InputMetadata_Visualization_Polarity = 3 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_Polarity. +var ( + ExplanationMetadata_InputMetadata_Visualization_Polarity_name = map[int32]string{ + 0: "POLARITY_UNSPECIFIED", + 1: "POSITIVE", + 2: "NEGATIVE", + 3: "BOTH", + } + ExplanationMetadata_InputMetadata_Visualization_Polarity_value = map[string]int32{ + "POLARITY_UNSPECIFIED": 0, + "POSITIVE": 1, + "NEGATIVE": 2, + "BOTH": 3, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Enum() *ExplanationMetadata_InputMetadata_Visualization_Polarity { + p := new(ExplanationMetadata_InputMetadata_Visualization_Polarity) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[2].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[2] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_Polarity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_Polarity.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_Polarity) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 1} +} + +// The color scheme used for highlighting areas. +type ExplanationMetadata_InputMetadata_Visualization_ColorMap int32 + +const ( + // Should not be used. + ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 0 + // Positive: green. Negative: pink. + ExplanationMetadata_InputMetadata_Visualization_PINK_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 1 + // Viridis color map: A perceptually uniform color mapping which is + // easier to see by those with colorblindness and progresses from yellow + // to green to blue. Positive: yellow. Negative: blue. + ExplanationMetadata_InputMetadata_Visualization_VIRIDIS ExplanationMetadata_InputMetadata_Visualization_ColorMap = 2 + // Positive: red. Negative: red. + ExplanationMetadata_InputMetadata_Visualization_RED ExplanationMetadata_InputMetadata_Visualization_ColorMap = 3 + // Positive: green. Negative: green. + ExplanationMetadata_InputMetadata_Visualization_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 4 + // Positive: green. Negative: red. + ExplanationMetadata_InputMetadata_Visualization_RED_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 6 + // PiYG palette. + ExplanationMetadata_InputMetadata_Visualization_PINK_WHITE_GREEN ExplanationMetadata_InputMetadata_Visualization_ColorMap = 5 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_ColorMap. +var ( + ExplanationMetadata_InputMetadata_Visualization_ColorMap_name = map[int32]string{ + 0: "COLOR_MAP_UNSPECIFIED", + 1: "PINK_GREEN", + 2: "VIRIDIS", + 3: "RED", + 4: "GREEN", + 6: "RED_GREEN", + 5: "PINK_WHITE_GREEN", + } + ExplanationMetadata_InputMetadata_Visualization_ColorMap_value = map[string]int32{ + "COLOR_MAP_UNSPECIFIED": 0, + "PINK_GREEN": 1, + "VIRIDIS": 2, + "RED": 3, + "GREEN": 4, + "RED_GREEN": 6, + "PINK_WHITE_GREEN": 5, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Enum() *ExplanationMetadata_InputMetadata_Visualization_ColorMap { + p := new(ExplanationMetadata_InputMetadata_Visualization_ColorMap) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[3].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[3] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_ColorMap) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_ColorMap.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_ColorMap) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 2} +} + +// How the original image is displayed in the visualization. +type ExplanationMetadata_InputMetadata_Visualization_OverlayType int32 + +const ( + // Default value. This is the same as NONE. + ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED ExplanationMetadata_InputMetadata_Visualization_OverlayType = 0 + // No overlay. + ExplanationMetadata_InputMetadata_Visualization_NONE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 1 + // The attributions are shown on top of the original image. + ExplanationMetadata_InputMetadata_Visualization_ORIGINAL ExplanationMetadata_InputMetadata_Visualization_OverlayType = 2 + // The attributions are shown on top of grayscaled version of the + // original image. + ExplanationMetadata_InputMetadata_Visualization_GRAYSCALE ExplanationMetadata_InputMetadata_Visualization_OverlayType = 3 + // The attributions are used as a mask to reveal predictive parts of + // the image and hide the un-predictive parts. + ExplanationMetadata_InputMetadata_Visualization_MASK_BLACK ExplanationMetadata_InputMetadata_Visualization_OverlayType = 4 +) + +// Enum value maps for ExplanationMetadata_InputMetadata_Visualization_OverlayType. +var ( + ExplanationMetadata_InputMetadata_Visualization_OverlayType_name = map[int32]string{ + 0: "OVERLAY_TYPE_UNSPECIFIED", + 1: "NONE", + 2: "ORIGINAL", + 3: "GRAYSCALE", + 4: "MASK_BLACK", + } + ExplanationMetadata_InputMetadata_Visualization_OverlayType_value = map[string]int32{ + "OVERLAY_TYPE_UNSPECIFIED": 0, + "NONE": 1, + "ORIGINAL": 2, + "GRAYSCALE": 3, + "MASK_BLACK": 4, + } +) + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Enum() *ExplanationMetadata_InputMetadata_Visualization_OverlayType { + p := new(ExplanationMetadata_InputMetadata_Visualization_OverlayType) + *p = x + return p +} + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[4].Descriptor() +} + +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes[4] +} + +func (x ExplanationMetadata_InputMetadata_Visualization_OverlayType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExplanationMetadata_InputMetadata_Visualization_OverlayType.Descriptor instead. +func (ExplanationMetadata_InputMetadata_Visualization_OverlayType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1, 3} +} + +// Metadata describing the Model's input and output for explanation. +type ExplanationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Map from feature names to feature input metadata. Keys are the + // name of the features. Values are the specification of the feature. + // + // An empty InputMetadata is valid. It describes a text feature which has the + // name specified as the key in + // [ExplanationMetadata.inputs][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs]. + // The baseline of the empty feature is chosen by Vertex AI. + // + // For Vertex AI-provided Tensorflow images, the key can be any friendly + // name of the feature. Once specified, + // [featureAttributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions] + // are keyed by this key (if not grouped with another feature). + // + // For custom images, the key must match with the key in + // [instance][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances]. + Inputs map[string]*ExplanationMetadata_InputMetadata `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. Map from output names to output metadata. + // + // For Vertex AI-provided Tensorflow images, keys can be any user defined + // string that consists of any UTF-8 characters. + // + // For custom images, keys are the name of the output field in the prediction + // to be explained. + // + // Currently only one key is allowed. + Outputs map[string]*ExplanationMetadata_OutputMetadata `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Points to a YAML file stored on Google Cloud Storage describing the format + // of the [feature + // attributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML tabular Models always have this field populated by Vertex AI. + // Note: The URI given on output may be different, including the URI scheme, + // than the one given on input. The output URI will point to a location where + // the user only has a read access. + FeatureAttributionsSchemaUri string `protobuf:"bytes,3,opt,name=feature_attributions_schema_uri,json=featureAttributionsSchemaUri,proto3" json:"feature_attributions_schema_uri,omitempty"` + // Name of the source to generate embeddings for example based explanations. + LatentSpaceSource string `protobuf:"bytes,5,opt,name=latent_space_source,json=latentSpaceSource,proto3" json:"latent_space_source,omitempty"` +} + +func (x *ExplanationMetadata) Reset() { + *x = ExplanationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata) ProtoMessage() {} + +func (x *ExplanationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[0] + 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 ExplanationMetadata.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0} +} + +func (x *ExplanationMetadata) GetInputs() map[string]*ExplanationMetadata_InputMetadata { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *ExplanationMetadata) GetOutputs() map[string]*ExplanationMetadata_OutputMetadata { + if x != nil { + return x.Outputs + } + return nil +} + +func (x *ExplanationMetadata) GetFeatureAttributionsSchemaUri() string { + if x != nil { + return x.FeatureAttributionsSchemaUri + } + return "" +} + +func (x *ExplanationMetadata) GetLatentSpaceSource() string { + if x != nil { + return x.LatentSpaceSource + } + return "" +} + +// Metadata of the input of a feature. +// +// Fields other than +// [InputMetadata.input_baselines][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.input_baselines] +// are applicable only for Models that are using Vertex AI-provided images for +// Tensorflow. +type ExplanationMetadata_InputMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Baseline inputs for this feature. + // + // If no baseline is specified, Vertex AI chooses the baseline for this + // feature. If multiple baselines are specified, Vertex AI returns the + // average attributions across them in + // [Attribution.feature_attributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions]. + // + // For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape + // of each baseline must match the shape of the input tensor. If a scalar is + // provided, we broadcast to the same shape as the input tensor. + // + // For custom images, the element of the baselines must be in the same + // format as the feature's input in the + // [instance][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances][]. + // The schema of any single instance may be specified via Endpoint's + // DeployedModels' + // [Model's][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]. + InputBaselines []*_struct.Value `protobuf:"bytes,1,rep,name=input_baselines,json=inputBaselines,proto3" json:"input_baselines,omitempty"` + // Name of the input tensor for this feature. Required and is only + // applicable to Vertex AI-provided images for Tensorflow. + InputTensorName string `protobuf:"bytes,2,opt,name=input_tensor_name,json=inputTensorName,proto3" json:"input_tensor_name,omitempty"` + // Defines how the feature is encoded into the input tensor. Defaults to + // IDENTITY. + Encoding ExplanationMetadata_InputMetadata_Encoding `protobuf:"varint,3,opt,name=encoding,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Encoding" json:"encoding,omitempty"` + // Modality of the feature. Valid values are: numeric, image. Defaults to + // numeric. + Modality string `protobuf:"bytes,4,opt,name=modality,proto3" json:"modality,omitempty"` + // The domain details of the input feature value. Like min/max, original + // mean or standard deviation if normalized. + FeatureValueDomain *ExplanationMetadata_InputMetadata_FeatureValueDomain `protobuf:"bytes,5,opt,name=feature_value_domain,json=featureValueDomain,proto3" json:"feature_value_domain,omitempty"` + // Specifies the index of the values of the input tensor. + // Required when the input tensor is a sparse representation. Refer to + // Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName string `protobuf:"bytes,6,opt,name=indices_tensor_name,json=indicesTensorName,proto3" json:"indices_tensor_name,omitempty"` + // Specifies the shape of the values of the input if the input is a sparse + // representation. Refer to Tensorflow documentation for more details: + // https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName string `protobuf:"bytes,7,opt,name=dense_shape_tensor_name,json=denseShapeTensorName,proto3" json:"dense_shape_tensor_name,omitempty"` + // A list of feature names for each index in the input tensor. + // Required when the input + // [InputMetadata.encoding][mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoding] + // is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `protobuf:"bytes,8,rep,name=index_feature_mapping,json=indexFeatureMapping,proto3" json:"index_feature_mapping,omitempty"` + // Encoded tensor is a transformation of the input tensor. Must be provided + // if choosing + // [Integrated Gradients + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution] + // or [XRAI + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution] + // and the input tensor is not differentiable. + // + // An encoded tensor is generated if the input tensor is encoded by a lookup + // table. + EncodedTensorName string `protobuf:"bytes,9,opt,name=encoded_tensor_name,json=encodedTensorName,proto3" json:"encoded_tensor_name,omitempty"` + // A list of baselines for the encoded tensor. + // + // The shape of each baseline should match the shape of the encoded tensor. + // If a scalar is provided, Vertex AI broadcasts to the same shape as the + // encoded tensor. + EncodedBaselines []*_struct.Value `protobuf:"bytes,10,rep,name=encoded_baselines,json=encodedBaselines,proto3" json:"encoded_baselines,omitempty"` + // Visualization configurations for image explanation. + Visualization *ExplanationMetadata_InputMetadata_Visualization `protobuf:"bytes,11,opt,name=visualization,proto3" json:"visualization,omitempty"` + // Name of the group that the input belongs to. Features with the same group + // name will be treated as one feature when computing attributions. Features + // grouped together can have different shapes in value. If provided, there + // will be one single attribution generated in + // [Attribution.feature_attributions][mockgcp.cloud.aiplatform.v1beta1.Attribution.feature_attributions], + // keyed by the group name. + GroupName string `protobuf:"bytes,12,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` +} + +func (x *ExplanationMetadata_InputMetadata) Reset() { + *x = ExplanationMetadata_InputMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_InputMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_InputMetadata) ProtoMessage() {} + +func (x *ExplanationMetadata_InputMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[1] + 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 ExplanationMetadata_InputMetadata.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_InputMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ExplanationMetadata_InputMetadata) GetInputBaselines() []*_struct.Value { + if x != nil { + return x.InputBaselines + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetInputTensorName() string { + if x != nil { + return x.InputTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetEncoding() ExplanationMetadata_InputMetadata_Encoding { + if x != nil { + return x.Encoding + } + return ExplanationMetadata_InputMetadata_ENCODING_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata) GetModality() string { + if x != nil { + return x.Modality + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetFeatureValueDomain() *ExplanationMetadata_InputMetadata_FeatureValueDomain { + if x != nil { + return x.FeatureValueDomain + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetIndicesTensorName() string { + if x != nil { + return x.IndicesTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetDenseShapeTensorName() string { + if x != nil { + return x.DenseShapeTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetIndexFeatureMapping() []string { + if x != nil { + return x.IndexFeatureMapping + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetEncodedTensorName() string { + if x != nil { + return x.EncodedTensorName + } + return "" +} + +func (x *ExplanationMetadata_InputMetadata) GetEncodedBaselines() []*_struct.Value { + if x != nil { + return x.EncodedBaselines + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetVisualization() *ExplanationMetadata_InputMetadata_Visualization { + if x != nil { + return x.Visualization + } + return nil +} + +func (x *ExplanationMetadata_InputMetadata) GetGroupName() string { + if x != nil { + return x.GroupName + } + return "" +} + +// Metadata of the prediction output to be explained. +type ExplanationMetadata_OutputMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines how to map + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // to + // [Attribution.output_display_name][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_display_name]. + // + // If neither of the fields are specified, + // [Attribution.output_display_name][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_display_name] + // will not be populated. + // + // Types that are assignable to DisplayNameMapping: + // + // *ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping + // *ExplanationMetadata_OutputMetadata_DisplayNameMappingKey + DisplayNameMapping isExplanationMetadata_OutputMetadata_DisplayNameMapping `protobuf_oneof:"display_name_mapping"` + // Name of the output tensor. Required and is only applicable to Vertex + // AI provided images for Tensorflow. + OutputTensorName string `protobuf:"bytes,3,opt,name=output_tensor_name,json=outputTensorName,proto3" json:"output_tensor_name,omitempty"` +} + +func (x *ExplanationMetadata_OutputMetadata) Reset() { + *x = ExplanationMetadata_OutputMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_OutputMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_OutputMetadata) ProtoMessage() {} + +func (x *ExplanationMetadata_OutputMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_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 ExplanationMetadata_OutputMetadata.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_OutputMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 1} +} + +func (m *ExplanationMetadata_OutputMetadata) GetDisplayNameMapping() isExplanationMetadata_OutputMetadata_DisplayNameMapping { + if m != nil { + return m.DisplayNameMapping + } + return nil +} + +func (x *ExplanationMetadata_OutputMetadata) GetIndexDisplayNameMapping() *_struct.Value { + if x, ok := x.GetDisplayNameMapping().(*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping); ok { + return x.IndexDisplayNameMapping + } + return nil +} + +func (x *ExplanationMetadata_OutputMetadata) GetDisplayNameMappingKey() string { + if x, ok := x.GetDisplayNameMapping().(*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey); ok { + return x.DisplayNameMappingKey + } + return "" +} + +func (x *ExplanationMetadata_OutputMetadata) GetOutputTensorName() string { + if x != nil { + return x.OutputTensorName + } + return "" +} + +type isExplanationMetadata_OutputMetadata_DisplayNameMapping interface { + isExplanationMetadata_OutputMetadata_DisplayNameMapping() +} + +type ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping struct { + // Static mapping between the index and display name. + // + // Use this if the outputs are a deterministic n-dimensional array, e.g. a + // list of scores of all the classes in a pre-defined order for a + // multi-classification Model. It's not feasible if the outputs are + // non-deterministic, e.g. the Model produces top-k classes or sort the + // outputs by their values. + // + // The shape of the value must be an n-dimensional array of strings. The + // number of dimensions must match that of the outputs to be explained. + // The + // [Attribution.output_display_name][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_display_name] + // is populated by locating in the mapping with + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index]. + IndexDisplayNameMapping *_struct.Value `protobuf:"bytes,1,opt,name=index_display_name_mapping,json=indexDisplayNameMapping,proto3,oneof"` +} + +type ExplanationMetadata_OutputMetadata_DisplayNameMappingKey struct { + // Specify a field name in the prediction to look for the display name. + // + // Use this if the prediction contains the display names for the outputs. + // + // The display names in the prediction must have the same shape of the + // outputs, so that it can be located by + // [Attribution.output_index][mockgcp.cloud.aiplatform.v1beta1.Attribution.output_index] + // for a specific output. + DisplayNameMappingKey string `protobuf:"bytes,2,opt,name=display_name_mapping_key,json=displayNameMappingKey,proto3,oneof"` +} + +func (*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping) isExplanationMetadata_OutputMetadata_DisplayNameMapping() { +} + +func (*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey) isExplanationMetadata_OutputMetadata_DisplayNameMapping() { +} + +// Domain details of the input feature value. Provides numeric information +// about the feature, such as its range (min, max). If the feature has been +// pre-processed, for example with z-scoring, then it provides information +// about how to recover the original feature. For example, if the input +// feature is an image and it has been pre-processed to obtain 0-mean and +// stddev = 1 values, then original_mean, and original_stddev refer to the +// mean and stddev of the original feature (e.g. image tensor) from which +// input feature (with mean = 0 and stddev = 1) was obtained. +type ExplanationMetadata_InputMetadata_FeatureValueDomain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The minimum permissible value for this feature. + MinValue float32 `protobuf:"fixed32,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` + // The maximum permissible value for this feature. + MaxValue float32 `protobuf:"fixed32,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` + // If this input feature has been normalized to a mean value of 0, + // the original_mean specifies the mean value of the domain prior to + // normalization. + OriginalMean float32 `protobuf:"fixed32,3,opt,name=original_mean,json=originalMean,proto3" json:"original_mean,omitempty"` + // If this input feature has been normalized to a standard deviation of + // 1.0, the original_stddev specifies the standard deviation of the domain + // prior to normalization. + OriginalStddev float32 `protobuf:"fixed32,4,opt,name=original_stddev,json=originalStddev,proto3" json:"original_stddev,omitempty"` +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) Reset() { + *x = ExplanationMetadata_InputMetadata_FeatureValueDomain{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoMessage() {} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5] + 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 ExplanationMetadata_InputMetadata_FeatureValueDomain.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_InputMetadata_FeatureValueDomain) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMinValue() float32 { + if x != nil { + return x.MinValue + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetMaxValue() float32 { + if x != nil { + return x.MaxValue + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalMean() float32 { + if x != nil { + return x.OriginalMean + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_FeatureValueDomain) GetOriginalStddev() float32 { + if x != nil { + return x.OriginalStddev + } + return 0 +} + +// Visualization configurations for image explanation. +type ExplanationMetadata_InputMetadata_Visualization struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the image visualization. Only applicable to + // [Integrated Gradients + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution]. + // OUTLINES shows regions of attribution, while PIXELS shows per-pixel + // attribution. Defaults to OUTLINES. + Type ExplanationMetadata_InputMetadata_Visualization_Type `protobuf:"varint,1,opt,name=type,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_Type" json:"type,omitempty"` + // Whether to only highlight pixels with positive contributions, negative + // or both. Defaults to POSITIVE. + Polarity ExplanationMetadata_InputMetadata_Visualization_Polarity `protobuf:"varint,2,opt,name=polarity,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_Polarity" json:"polarity,omitempty"` + // The color scheme used for the highlighted areas. + // + // Defaults to PINK_GREEN for + // [Integrated Gradients + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.integrated_gradients_attribution], + // which shows positive attributions in green and negative in pink. + // + // Defaults to VIRIDIS for + // [XRAI + // attribution][mockgcp.cloud.aiplatform.v1beta1.ExplanationParameters.xrai_attribution], + // which highlights the most influential regions in yellow and the least + // influential in blue. + ColorMap ExplanationMetadata_InputMetadata_Visualization_ColorMap `protobuf:"varint,3,opt,name=color_map,json=colorMap,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_ColorMap" json:"color_map,omitempty"` + // Excludes attributions above the specified percentile from the + // highlighted areas. Using the clip_percent_upperbound and + // clip_percent_lowerbound together can be useful for filtering out noise + // and making it easier to see areas of strong attribution. Defaults to + // 99.9. + ClipPercentUpperbound float32 `protobuf:"fixed32,4,opt,name=clip_percent_upperbound,json=clipPercentUpperbound,proto3" json:"clip_percent_upperbound,omitempty"` + // Excludes attributions below the specified percentile, from the + // highlighted areas. Defaults to 62. + ClipPercentLowerbound float32 `protobuf:"fixed32,5,opt,name=clip_percent_lowerbound,json=clipPercentLowerbound,proto3" json:"clip_percent_lowerbound,omitempty"` + // How the original image is displayed in the visualization. + // Adjusting the overlay can help increase visual clarity if the original + // image makes it difficult to view the visualization. Defaults to NONE. + OverlayType ExplanationMetadata_InputMetadata_Visualization_OverlayType `protobuf:"varint,6,opt,name=overlay_type,json=overlayType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata_InputMetadata_Visualization_OverlayType" json:"overlay_type,omitempty"` +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) Reset() { + *x = ExplanationMetadata_InputMetadata_Visualization{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplanationMetadata_InputMetadata_Visualization) ProtoMessage() {} + +func (x *ExplanationMetadata_InputMetadata_Visualization) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_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 ExplanationMetadata_InputMetadata_Visualization.ProtoReflect.Descriptor instead. +func (*ExplanationMetadata_InputMetadata_Visualization) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP(), []int{0, 0, 1} +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetType() ExplanationMetadata_InputMetadata_Visualization_Type { + if x != nil { + return x.Type + } + return ExplanationMetadata_InputMetadata_Visualization_TYPE_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetPolarity() ExplanationMetadata_InputMetadata_Visualization_Polarity { + if x != nil { + return x.Polarity + } + return ExplanationMetadata_InputMetadata_Visualization_POLARITY_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetColorMap() ExplanationMetadata_InputMetadata_Visualization_ColorMap { + if x != nil { + return x.ColorMap + } + return ExplanationMetadata_InputMetadata_Visualization_COLOR_MAP_UNSPECIFIED +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentUpperbound() float32 { + if x != nil { + return x.ClipPercentUpperbound + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetClipPercentLowerbound() float32 { + if x != nil { + return x.ClipPercentLowerbound + } + return 0 +} + +func (x *ExplanationMetadata_InputMetadata_Visualization) GetOverlayType() ExplanationMetadata_InputMetadata_Visualization_OverlayType { + if x != nil { + return x.OverlayType + } + return ExplanationMetadata_InputMetadata_Visualization_OVERLAY_TYPE_UNSPECIFIED +} + +var File_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, + 0x16, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x1c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, + 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, + 0x61, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x1a, 0xbe, 0x10, 0x0a, 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x68, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x64, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x88, 0x01, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, + 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x35, 0x0a, 0x17, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x14, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x12, 0x77, 0x0a, 0x0d, 0x76, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, + 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x76, 0x69, 0x73, 0x75, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x9c, 0x01, 0x0a, 0x12, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x64, 0x64, 0x65, + 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x1a, 0xc4, 0x07, 0x0a, 0x0d, 0x56, 0x69, 0x73, 0x75, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, + 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x76, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, + 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x6c, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x77, 0x0a, + 0x09, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x5a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x70, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x36, + 0x0a, 0x17, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6c, + 0x6f, 0x77, 0x65, 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x15, 0x63, 0x6c, 0x69, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x77, 0x65, + 0x72, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x80, 0x01, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x6c, + 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6f, 0x76, + 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x36, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x49, 0x58, 0x45, 0x4c, + 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x4c, 0x49, 0x4e, 0x45, 0x53, 0x10, + 0x02, 0x22, 0x4a, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, + 0x14, 0x50, 0x4f, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x49, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x03, 0x22, 0x7b, 0x0a, + 0x08, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4c, + 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x47, 0x52, 0x45, + 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x49, 0x44, 0x49, 0x53, 0x10, + 0x02, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, + 0x45, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x45, + 0x45, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x49, 0x4e, 0x4b, 0x5f, 0x57, 0x48, 0x49, + 0x54, 0x45, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x05, 0x22, 0x62, 0x0a, 0x0b, 0x4f, 0x76, + 0x65, 0x72, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x56, 0x45, + 0x52, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 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, 0x0c, 0x0a, 0x08, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x12, + 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x41, 0x59, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x4d, 0x41, 0x53, 0x4b, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x22, 0xa0, + 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x14, 0x45, + 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, + 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x41, 0x47, 0x5f, 0x4f, 0x46, 0x5f, 0x46, 0x45, + 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x41, 0x47, 0x5f, + 0x4f, 0x46, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x5f, 0x53, 0x50, 0x41, 0x52, + 0x53, 0x45, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x44, 0x49, 0x43, 0x41, 0x54, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, + 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x5f, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x06, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x1a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x18, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x7e, 0x0a, 0x0b, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x80, 0x01, 0x0a, + 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x5a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0xf0, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x18, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_goTypes = []interface{}{ + (ExplanationMetadata_InputMetadata_Encoding)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Encoding + (ExplanationMetadata_InputMetadata_Visualization_Type)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Type + (ExplanationMetadata_InputMetadata_Visualization_Polarity)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Polarity + (ExplanationMetadata_InputMetadata_Visualization_ColorMap)(0), // 3: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.ColorMap + (ExplanationMetadata_InputMetadata_Visualization_OverlayType)(0), // 4: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.OverlayType + (*ExplanationMetadata)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata + (*ExplanationMetadata_InputMetadata)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata + (*ExplanationMetadata_OutputMetadata)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata + nil, // 8: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry + nil, // 9: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry + (*ExplanationMetadata_InputMetadata_FeatureValueDomain)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.FeatureValueDomain + (*ExplanationMetadata_InputMetadata_Visualization)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization + (*_struct.Value)(nil), // 12: google.protobuf.Value +} +var file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_depIdxs = []int32{ + 8, // 0: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry + 9, // 1: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.outputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry + 12, // 2: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.input_baselines:type_name -> google.protobuf.Value + 0, // 3: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoding:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Encoding + 10, // 4: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.feature_value_domain:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.FeatureValueDomain + 12, // 5: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.encoded_baselines:type_name -> google.protobuf.Value + 11, // 6: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.visualization:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization + 12, // 7: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata.index_display_name_mapping:type_name -> google.protobuf.Value + 6, // 8: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata + 7, // 9: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.OutputMetadata + 1, // 10: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Type + 2, // 11: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.polarity:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.Polarity + 3, // 12: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.color_map:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.ColorMap + 4, // 13: mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.overlay_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationMetadata.InputMetadata.Visualization.OverlayType + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_InputMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_OutputMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_InputMetadata_FeatureValueDomain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplanationMetadata_InputMetadata_Visualization); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*ExplanationMetadata_OutputMetadata_IndexDisplayNameMapping)(nil), + (*ExplanationMetadata_OutputMetadata_DisplayNameMappingKey)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc, + NumEnums: 5, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_explanation_metadata_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature.pb.go new file mode 100644 index 0000000000..9fae10036e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature.pb.go @@ -0,0 +1,682 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Only applicable for Vertex AI Legacy Feature Store. +// An enum representing the value type of a feature. +type Feature_ValueType int32 + +const ( + // The value type is unspecified. + Feature_VALUE_TYPE_UNSPECIFIED Feature_ValueType = 0 + // Used for Feature that is a boolean. + Feature_BOOL Feature_ValueType = 1 + // Used for Feature that is a list of boolean. + Feature_BOOL_ARRAY Feature_ValueType = 2 + // Used for Feature that is double. + Feature_DOUBLE Feature_ValueType = 3 + // Used for Feature that is a list of double. + Feature_DOUBLE_ARRAY Feature_ValueType = 4 + // Used for Feature that is INT64. + Feature_INT64 Feature_ValueType = 9 + // Used for Feature that is a list of INT64. + Feature_INT64_ARRAY Feature_ValueType = 10 + // Used for Feature that is string. + Feature_STRING Feature_ValueType = 11 + // Used for Feature that is a list of String. + Feature_STRING_ARRAY Feature_ValueType = 12 + // Used for Feature that is bytes. + Feature_BYTES Feature_ValueType = 13 +) + +// Enum value maps for Feature_ValueType. +var ( + Feature_ValueType_name = map[int32]string{ + 0: "VALUE_TYPE_UNSPECIFIED", + 1: "BOOL", + 2: "BOOL_ARRAY", + 3: "DOUBLE", + 4: "DOUBLE_ARRAY", + 9: "INT64", + 10: "INT64_ARRAY", + 11: "STRING", + 12: "STRING_ARRAY", + 13: "BYTES", + } + Feature_ValueType_value = map[string]int32{ + "VALUE_TYPE_UNSPECIFIED": 0, + "BOOL": 1, + "BOOL_ARRAY": 2, + "DOUBLE": 3, + "DOUBLE_ARRAY": 4, + "INT64": 9, + "INT64_ARRAY": 10, + "STRING": 11, + "STRING_ARRAY": 12, + "BYTES": 13, + } +) + +func (x Feature_ValueType) Enum() *Feature_ValueType { + p := new(Feature_ValueType) + *p = x + return p +} + +func (x Feature_ValueType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Feature_ValueType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes[0].Descriptor() +} + +func (Feature_ValueType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes[0] +} + +func (x Feature_ValueType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Feature_ValueType.Descriptor instead. +func (Feature_ValueType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0} +} + +// If the objective in the request is both +// Import Feature Analysis and Snapshot Analysis, this objective could be +// one of them. Otherwise, this objective should be the same as the +// objective in the request. +type Feature_MonitoringStatsAnomaly_Objective int32 + +const ( + // If it's OBJECTIVE_UNSPECIFIED, monitoring_stats will be empty. + Feature_MonitoringStatsAnomaly_OBJECTIVE_UNSPECIFIED Feature_MonitoringStatsAnomaly_Objective = 0 + // Stats are generated by Import Feature Analysis. + Feature_MonitoringStatsAnomaly_IMPORT_FEATURE_ANALYSIS Feature_MonitoringStatsAnomaly_Objective = 1 + // Stats are generated by Snapshot Analysis. + Feature_MonitoringStatsAnomaly_SNAPSHOT_ANALYSIS Feature_MonitoringStatsAnomaly_Objective = 2 +) + +// Enum value maps for Feature_MonitoringStatsAnomaly_Objective. +var ( + Feature_MonitoringStatsAnomaly_Objective_name = map[int32]string{ + 0: "OBJECTIVE_UNSPECIFIED", + 1: "IMPORT_FEATURE_ANALYSIS", + 2: "SNAPSHOT_ANALYSIS", + } + Feature_MonitoringStatsAnomaly_Objective_value = map[string]int32{ + "OBJECTIVE_UNSPECIFIED": 0, + "IMPORT_FEATURE_ANALYSIS": 1, + "SNAPSHOT_ANALYSIS": 2, + } +) + +func (x Feature_MonitoringStatsAnomaly_Objective) Enum() *Feature_MonitoringStatsAnomaly_Objective { + p := new(Feature_MonitoringStatsAnomaly_Objective) + *p = x + return p +} + +func (x Feature_MonitoringStatsAnomaly_Objective) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Feature_MonitoringStatsAnomaly_Objective) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes[1].Descriptor() +} + +func (Feature_MonitoringStatsAnomaly_Objective) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes[1] +} + +func (x Feature_MonitoringStatsAnomaly_Objective) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Feature_MonitoringStatsAnomaly_Objective.Descriptor instead. +func (Feature_MonitoringStatsAnomaly_Objective) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Feature Metadata information. +// For example, color is a feature that describes an apple. +type Feature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Name of the Feature. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + // `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` + // + // The last part feature is assigned by the client. The feature can be up to + // 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, + // underscore(_), and ASCII digits 0-9 starting with a letter. The value will + // be unique given an entity type. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Description of the Feature. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Immutable. Only applicable for Vertex AI Feature Store (Legacy). + // Type of Feature value. + ValueType Feature_ValueType `protobuf:"varint,3,opt,name=value_type,json=valueType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Feature_ValueType" json:"value_type,omitempty"` + // Output only. Only applicable for Vertex AI Feature Store (Legacy). + // Timestamp when this EntityType was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Only applicable for Vertex AI Feature Store (Legacy). + // Timestamp when this EntityType was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The labels with user-defined metadata to organize your Features. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one Feature (System + // labels are excluded)." + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. Only applicable for Vertex AI Feature Store (Legacy). + // Deprecated: The custom monitoring configuration for this Feature, if not + // set, use the monitoring_config defined for the EntityType this Feature + // belongs to. + // Only Features with type + // ([Feature.ValueType][mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType]) + // BOOL, STRING, DOUBLE or INT64 can enable monitoring. + // + // If this is populated with + // [FeaturestoreMonitoringConfig.disabled][] = true, snapshot analysis + // monitoring is disabled; if + // [FeaturestoreMonitoringConfig.monitoring_interval][] specified, snapshot + // analysis monitoring is enabled. Otherwise, snapshot analysis monitoring + // config is same as the EntityType's this Feature belongs to. + // + // Deprecated: Do not use. + MonitoringConfig *FeaturestoreMonitoringConfig `protobuf:"bytes,9,opt,name=monitoring_config,json=monitoringConfig,proto3" json:"monitoring_config,omitempty"` + // Optional. Only applicable for Vertex AI Feature Store (Legacy). + // If not set, use the monitoring_config defined for the EntityType this + // Feature belongs to. + // Only Features with type + // ([Feature.ValueType][mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType]) + // BOOL, STRING, DOUBLE or INT64 can enable monitoring. + // + // If set to true, all types of data monitoring are disabled despite the + // config on EntityType. + DisableMonitoring bool `protobuf:"varint,12,opt,name=disable_monitoring,json=disableMonitoring,proto3" json:"disable_monitoring,omitempty"` + // Output only. Only applicable for Vertex AI Feature Store (Legacy). + // A list of historical + // [SnapshotAnalysis][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis] + // stats requested by user, sorted by + // [FeatureStatsAnomaly.start_time][mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time] + // descending. + MonitoringStats []*FeatureStatsAnomaly `protobuf:"bytes,10,rep,name=monitoring_stats,json=monitoringStats,proto3" json:"monitoring_stats,omitempty"` + // Output only. Only applicable for Vertex AI Feature Store (Legacy). + // The list of historical stats and anomalies with specified objectives. + MonitoringStatsAnomalies []*Feature_MonitoringStatsAnomaly `protobuf:"bytes,11,rep,name=monitoring_stats_anomalies,json=monitoringStatsAnomalies,proto3" json:"monitoring_stats_anomalies,omitempty"` + // Only applicable for Vertex AI Feature Store. + // The name of the BigQuery Table/View column hosting data for this version. + // If no value is provided, will use feature_id. + VersionColumnName string `protobuf:"bytes,106,opt,name=version_column_name,json=versionColumnName,proto3" json:"version_column_name,omitempty"` +} + +func (x *Feature) Reset() { + *x = Feature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Feature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Feature) ProtoMessage() {} + +func (x *Feature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[0] + 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 Feature.ProtoReflect.Descriptor instead. +func (*Feature) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0} +} + +func (x *Feature) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Feature) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Feature) GetValueType() Feature_ValueType { + if x != nil { + return x.ValueType + } + return Feature_VALUE_TYPE_UNSPECIFIED +} + +func (x *Feature) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Feature) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Feature) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Feature) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Deprecated: Do not use. +func (x *Feature) GetMonitoringConfig() *FeaturestoreMonitoringConfig { + if x != nil { + return x.MonitoringConfig + } + return nil +} + +func (x *Feature) GetDisableMonitoring() bool { + if x != nil { + return x.DisableMonitoring + } + return false +} + +func (x *Feature) GetMonitoringStats() []*FeatureStatsAnomaly { + if x != nil { + return x.MonitoringStats + } + return nil +} + +func (x *Feature) GetMonitoringStatsAnomalies() []*Feature_MonitoringStatsAnomaly { + if x != nil { + return x.MonitoringStatsAnomalies + } + return nil +} + +func (x *Feature) GetVersionColumnName() string { + if x != nil { + return x.VersionColumnName + } + return "" +} + +// A list of historical +// [SnapshotAnalysis][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis] +// or +// [ImportFeaturesAnalysis][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis] +// stats requested by user, sorted by +// [FeatureStatsAnomaly.start_time][mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time] +// descending. +type Feature_MonitoringStatsAnomaly struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The objective for each stats. + Objective Feature_MonitoringStatsAnomaly_Objective `protobuf:"varint,1,opt,name=objective,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Feature_MonitoringStatsAnomaly_Objective" json:"objective,omitempty"` + // Output only. The stats and anomalies generated at specific timestamp. + FeatureStatsAnomaly *FeatureStatsAnomaly `protobuf:"bytes,2,opt,name=feature_stats_anomaly,json=featureStatsAnomaly,proto3" json:"feature_stats_anomaly,omitempty"` +} + +func (x *Feature_MonitoringStatsAnomaly) Reset() { + *x = Feature_MonitoringStatsAnomaly{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Feature_MonitoringStatsAnomaly) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Feature_MonitoringStatsAnomaly) ProtoMessage() {} + +func (x *Feature_MonitoringStatsAnomaly) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[1] + 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 Feature_MonitoringStatsAnomaly.ProtoReflect.Descriptor instead. +func (*Feature_MonitoringStatsAnomaly) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Feature_MonitoringStatsAnomaly) GetObjective() Feature_MonitoringStatsAnomaly_Objective { + if x != nil { + return x.Objective + } + return Feature_MonitoringStatsAnomaly_OBJECTIVE_UNSPECIFIED +} + +func (x *Feature_MonitoringStatsAnomaly) GetFeatureStatsAnomaly() *FeatureStatsAnomaly { + if x != nil { + return x.FeatureStatsAnomaly + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 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, + 0x22, 0x90, 0x0d, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 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, 0x57, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x72, 0x0a, 0x11, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x10, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x32, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x65, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, + 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x1a, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, + 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x1a, 0xd3, 0x02, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x12, 0x6d, 0x0a, 0x09, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, + 0x6d, 0x61, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x22, 0x5a, 0x0a, 0x09, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x45, + 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x41, + 0x4c, 0x59, 0x53, 0x49, 0x53, 0x10, 0x02, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x41, + 0x52, 0x52, 0x41, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, + 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x52, 0x52, + 0x41, 0x59, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12, + 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x0a, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x0c, 0x12, 0x09, + 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0d, 0x3a, 0x87, 0x02, 0xea, 0x41, 0x83, 0x02, + 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x71, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x7d, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x7d, + 0x2a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x32, 0x07, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x42, 0xe4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_goTypes = []interface{}{ + (Feature_ValueType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType + (Feature_MonitoringStatsAnomaly_Objective)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.Objective + (*Feature)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Feature + (*Feature_MonitoringStatsAnomaly)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly + nil, // 4: mockgcp.cloud.aiplatform.v1beta1.Feature.LabelsEntry + (*timestamp.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*FeaturestoreMonitoringConfig)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig + (*FeatureStatsAnomaly)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.Feature.value_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType + 5, // 1: mockgcp.cloud.aiplatform.v1beta1.Feature.create_time:type_name -> google.protobuf.Timestamp + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.Feature.update_time:type_name -> google.protobuf.Timestamp + 4, // 3: mockgcp.cloud.aiplatform.v1beta1.Feature.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature.LabelsEntry + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.Feature.monitoring_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig + 7, // 5: mockgcp.cloud.aiplatform.v1beta1.Feature.monitoring_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly + 3, // 6: mockgcp.cloud.aiplatform.v1beta1.Feature.monitoring_stats_anomalies:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly + 1, // 7: mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.objective:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.Objective + 7, // 8: mockgcp.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly.feature_stats_anomaly:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Feature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Feature_MonitoringStatsAnomaly); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDesc, + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_group.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_group.pb.go new file mode 100644 index 0000000000..41ec902f87 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_group.pb.go @@ -0,0 +1,407 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_group.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Vertex AI Feature Group. +type FeatureGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Source: + // + // *FeatureGroup_BigQuery_ + Source isFeatureGroup_Source `protobuf_oneof:"source"` + // Identifier. Name of the FeatureGroup. Format: + // `projects/{project}/locations/{location}/featureGroups/{featureGroup}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this FeatureGroup was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this FeatureGroup was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // FeatureGroup. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureGroup(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Description of the FeatureGroup. + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *FeatureGroup) Reset() { + *x = FeatureGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureGroup) ProtoMessage() {} + +func (x *FeatureGroup) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[0] + 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 FeatureGroup.ProtoReflect.Descriptor instead. +func (*FeatureGroup) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescGZIP(), []int{0} +} + +func (m *FeatureGroup) GetSource() isFeatureGroup_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *FeatureGroup) GetBigQuery() *FeatureGroup_BigQuery { + if x, ok := x.GetSource().(*FeatureGroup_BigQuery_); ok { + return x.BigQuery + } + return nil +} + +func (x *FeatureGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureGroup) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *FeatureGroup) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *FeatureGroup) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *FeatureGroup) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *FeatureGroup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type isFeatureGroup_Source interface { + isFeatureGroup_Source() +} + +type FeatureGroup_BigQuery_ struct { + // Indicates that features for this group come from BigQuery Table/View. + // By default treats the source as a sparse time series source, which is + // required to have an entity_id and a feature_timestamp column in the + // source. + BigQuery *FeatureGroup_BigQuery `protobuf:"bytes,7,opt,name=big_query,json=bigQuery,proto3,oneof"` +} + +func (*FeatureGroup_BigQuery_) isFeatureGroup_Source() {} + +// Input source type for BigQuery Tables and Views. +type FeatureGroup_BigQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The BigQuery source URI that points to either a + // BigQuery Table or View. + BigQuerySource *BigQuerySource `protobuf:"bytes,1,opt,name=big_query_source,json=bigQuerySource,proto3" json:"big_query_source,omitempty"` + // Optional. Columns to construct entity_id / row keys. Currently only + // supports 1 entity_id_column. If not provided defaults to `entity_id`. + EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"` +} + +func (x *FeatureGroup_BigQuery) Reset() { + *x = FeatureGroup_BigQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureGroup_BigQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureGroup_BigQuery) ProtoMessage() {} + +func (x *FeatureGroup_BigQuery) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[1] + 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 FeatureGroup_BigQuery.ProtoReflect.Descriptor instead. +func (*FeatureGroup_BigQuery) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FeatureGroup_BigQuery) GetBigQuerySource() *BigQuerySource { + if x != nil { + return x.BigQuerySource + } + return nil +} + +func (x *FeatureGroup_BigQuery) GetEntityIdColumns() []string { + if x != nil { + return x.EntityIdColumns + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 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, + 0x22, 0x96, 0x06, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x56, 0x0a, 0x09, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x08, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, + 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x9f, 0x01, 0x0a, 0x08, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x62, 0x0a, 0x10, + 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x90, 0x01, 0xea, + 0x41, 0x8c, 0x01, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x45, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x7d, 0x2a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x32, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe9, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x11, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_goTypes = []interface{}{ + (*FeatureGroup)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + (*FeatureGroup_BigQuery)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.BigQuery + nil, // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.LabelsEntry + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*BigQuerySource)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.BigQuerySource +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.big_query:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.BigQuery + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.update_time:type_name -> google.protobuf.Timestamp + 2, // 3: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.LabelsEntry + 4, // 4: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup.BigQuery.big_query_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureGroup_BigQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*FeatureGroup_BigQuery_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_monitoring_stats.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_monitoring_stats.pb.go new file mode 100644 index 0000000000..8d8ebb77f7 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_monitoring_stats.pb.go @@ -0,0 +1,292 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_monitoring_stats.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Stats and Anomaly generated at specific timestamp for specific Feature. +// The start_time and end_time are used to define the time range of the dataset +// that current stats belongs to, e.g. prediction traffic is bucketed into +// prediction datasets by time window. If the Dataset is not defined by time +// window, start_time = end_time. Timestamp of the stats and anomalies always +// refers to end_time. Raw stats and anomalies are stored in stats_uri or +// anomaly_uri in the tensorflow defined protos. Field data_stats contains +// almost identical information with the raw stats in Vertex AI +// defined proto, for UI to display. +type FeatureStatsAnomaly struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Feature importance score, only populated when cross-feature monitoring is + // enabled. For now only used to represent feature attribution score within + // range [0, 1] for + // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW] + // and + // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT]. + Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` + // Path of the stats file for current feature values in Cloud Storage bucket. + // Format: gs:////stats. + // Example: gs://monitoring_bucket/feature_name/stats. + // Stats are stored as binary format with Protobuf message + // [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). + StatsUri string `protobuf:"bytes,3,opt,name=stats_uri,json=statsUri,proto3" json:"stats_uri,omitempty"` + // Path of the anomaly file for current feature values in Cloud Storage + // bucket. + // Format: gs:////anomalies. + // Example: gs://monitoring_bucket/feature_name/anomalies. + // Stats are stored as binary format with Protobuf message + // Anoamlies are stored as binary format with Protobuf message + // [tensorflow.metadata.v0.AnomalyInfo] + // (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). + AnomalyUri string `protobuf:"bytes,4,opt,name=anomaly_uri,json=anomalyUri,proto3" json:"anomaly_uri,omitempty"` + // Deviation from the current stats to baseline stats. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + DistributionDeviation float64 `protobuf:"fixed64,5,opt,name=distribution_deviation,json=distributionDeviation,proto3" json:"distribution_deviation,omitempty"` + // This is the threshold used when detecting anomalies. + // The threshold can be changed by user, so this one might be different from + // [ThresholdConfig.value][mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig.value]. + AnomalyDetectionThreshold float64 `protobuf:"fixed64,9,opt,name=anomaly_detection_threshold,json=anomalyDetectionThreshold,proto3" json:"anomaly_detection_threshold,omitempty"` + // The start timestamp of window where stats were generated. + // For objectives where time window doesn't make sense (e.g. Featurestore + // Snapshot Monitoring), start_time is only used to indicate the monitoring + // intervals, so it always equals to (end_time - monitoring_interval). + StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The end timestamp of window where stats were generated. + // For objectives where time window doesn't make sense (e.g. Featurestore + // Snapshot Monitoring), end_time indicates the timestamp of the data used to + // generate stats (e.g. timestamp we take snapshots for feature values). + EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *FeatureStatsAnomaly) Reset() { + *x = FeatureStatsAnomaly{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureStatsAnomaly) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureStatsAnomaly) ProtoMessage() {} + +func (x *FeatureStatsAnomaly) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes[0] + 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 FeatureStatsAnomaly.ProtoReflect.Descriptor instead. +func (*FeatureStatsAnomaly) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescGZIP(), []int{0} +} + +func (x *FeatureStatsAnomaly) GetScore() float64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *FeatureStatsAnomaly) GetStatsUri() string { + if x != nil { + return x.StatsUri + } + return "" +} + +func (x *FeatureStatsAnomaly) GetAnomalyUri() string { + if x != nil { + return x.AnomalyUri + } + return "" +} + +func (x *FeatureStatsAnomaly) GetDistributionDeviation() float64 { + if x != nil { + return x.DistributionDeviation + } + return 0 +} + +func (x *FeatureStatsAnomaly) GetAnomalyDetectionThreshold() float64 { + if x != nil { + return x.AnomalyDetectionThreshold + } + return 0 +} + +func (x *FeatureStatsAnomaly) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *FeatureStatsAnomaly) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 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, 0x22, 0xd2, 0x02, 0x0a, 0x13, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x55, 0x72, 0x69, + 0x12, 0x35, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x15, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x61, 0x6e, 0x6f, 0x6d, 0x61, + 0x6c, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x61, 0x6e, + 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0xf3, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x1b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes = []interface{}{ + (*FeatureStatsAnomaly)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly + (*timestamp.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time:type_name -> google.protobuf.Timestamp + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.end_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureStatsAnomaly); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store.pb.go new file mode 100644 index 0000000000..4633593fa6 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store.pb.go @@ -0,0 +1,857 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states a featureOnlineStore can have. +type FeatureOnlineStore_State int32 + +const ( + // Default value. This value is unused. + FeatureOnlineStore_STATE_UNSPECIFIED FeatureOnlineStore_State = 0 + // State when the featureOnlineStore configuration is not being updated and + // the fields reflect the current configuration of the featureOnlineStore. + // The featureOnlineStore is usable in this state. + FeatureOnlineStore_STABLE FeatureOnlineStore_State = 1 + // The state of the featureOnlineStore configuration when it is being + // updated. During an update, the fields reflect either the original + // configuration or the updated configuration of the featureOnlineStore. The + // featureOnlineStore is still usable in this state. + FeatureOnlineStore_UPDATING FeatureOnlineStore_State = 2 +) + +// Enum value maps for FeatureOnlineStore_State. +var ( + FeatureOnlineStore_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "STABLE", + 2: "UPDATING", + } + FeatureOnlineStore_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "STABLE": 1, + "UPDATING": 2, + } +) + +func (x FeatureOnlineStore_State) Enum() *FeatureOnlineStore_State { + p := new(FeatureOnlineStore_State) + *p = x + return p +} + +func (x FeatureOnlineStore_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeatureOnlineStore_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_enumTypes[0].Descriptor() +} + +func (FeatureOnlineStore_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_enumTypes[0] +} + +func (x FeatureOnlineStore_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeatureOnlineStore_State.Descriptor instead. +func (FeatureOnlineStore_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 0} +} + +// Vertex AI Feature Online Store provides a centralized repository for serving +// ML features and embedding indexes at low latency. The Feature Online Store is +// a top-level container. +type FeatureOnlineStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to StorageType: + // + // *FeatureOnlineStore_Bigtable_ + // *FeatureOnlineStore_Optimized_ + StorageType isFeatureOnlineStore_StorageType `protobuf_oneof:"storage_type"` + // Identifier. Name of the FeatureOnlineStore. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this FeatureOnlineStore was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this FeatureOnlineStore was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // FeatureOnlineStore. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. State of the featureOnlineStore. + State FeatureOnlineStore_State `protobuf:"varint,7,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore_State" json:"state,omitempty"` + // Optional. The dedicated serving endpoint for this FeatureOnlineStore, which + // is different from common Vertex service endpoint. + DedicatedServingEndpoint *FeatureOnlineStore_DedicatedServingEndpoint `protobuf:"bytes,10,opt,name=dedicated_serving_endpoint,json=dedicatedServingEndpoint,proto3" json:"dedicated_serving_endpoint,omitempty"` + // Optional. The settings for embedding management in FeatureOnlineStore. + EmbeddingManagement *FeatureOnlineStore_EmbeddingManagement `protobuf:"bytes,11,opt,name=embedding_management,json=embeddingManagement,proto3" json:"embedding_management,omitempty"` +} + +func (x *FeatureOnlineStore) Reset() { + *x = FeatureOnlineStore{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore) ProtoMessage() {} + +func (x *FeatureOnlineStore) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[0] + 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 FeatureOnlineStore.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0} +} + +func (m *FeatureOnlineStore) GetStorageType() isFeatureOnlineStore_StorageType { + if m != nil { + return m.StorageType + } + return nil +} + +func (x *FeatureOnlineStore) GetBigtable() *FeatureOnlineStore_Bigtable { + if x, ok := x.GetStorageType().(*FeatureOnlineStore_Bigtable_); ok { + return x.Bigtable + } + return nil +} + +func (x *FeatureOnlineStore) GetOptimized() *FeatureOnlineStore_Optimized { + if x, ok := x.GetStorageType().(*FeatureOnlineStore_Optimized_); ok { + return x.Optimized + } + return nil +} + +func (x *FeatureOnlineStore) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureOnlineStore) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *FeatureOnlineStore) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *FeatureOnlineStore) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *FeatureOnlineStore) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *FeatureOnlineStore) GetState() FeatureOnlineStore_State { + if x != nil { + return x.State + } + return FeatureOnlineStore_STATE_UNSPECIFIED +} + +func (x *FeatureOnlineStore) GetDedicatedServingEndpoint() *FeatureOnlineStore_DedicatedServingEndpoint { + if x != nil { + return x.DedicatedServingEndpoint + } + return nil +} + +func (x *FeatureOnlineStore) GetEmbeddingManagement() *FeatureOnlineStore_EmbeddingManagement { + if x != nil { + return x.EmbeddingManagement + } + return nil +} + +type isFeatureOnlineStore_StorageType interface { + isFeatureOnlineStore_StorageType() +} + +type FeatureOnlineStore_Bigtable_ struct { + // Contains settings for the Cloud Bigtable instance that will be created + // to serve featureValues for all FeatureViews under this + // FeatureOnlineStore. + Bigtable *FeatureOnlineStore_Bigtable `protobuf:"bytes,8,opt,name=bigtable,proto3,oneof"` +} + +type FeatureOnlineStore_Optimized_ struct { + // Contains settings for the Optimized store that will be created + // to serve featureValues for all FeatureViews under this + // FeatureOnlineStore. When choose Optimized storage type, need to set + // [PrivateServiceConnectConfig.enable_private_service_connect][mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig.enable_private_service_connect] + // to use private endpoint. Otherwise will use public endpoint by default. + Optimized *FeatureOnlineStore_Optimized `protobuf:"bytes,12,opt,name=optimized,proto3,oneof"` +} + +func (*FeatureOnlineStore_Bigtable_) isFeatureOnlineStore_StorageType() {} + +func (*FeatureOnlineStore_Optimized_) isFeatureOnlineStore_StorageType() {} + +type FeatureOnlineStore_Bigtable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Autoscaling config applied to Bigtable Instance. + AutoScaling *FeatureOnlineStore_Bigtable_AutoScaling `protobuf:"bytes,1,opt,name=auto_scaling,json=autoScaling,proto3" json:"auto_scaling,omitempty"` +} + +func (x *FeatureOnlineStore_Bigtable) Reset() { + *x = FeatureOnlineStore_Bigtable{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore_Bigtable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore_Bigtable) ProtoMessage() {} + +func (x *FeatureOnlineStore_Bigtable) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[1] + 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 FeatureOnlineStore_Bigtable.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore_Bigtable) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FeatureOnlineStore_Bigtable) GetAutoScaling() *FeatureOnlineStore_Bigtable_AutoScaling { + if x != nil { + return x.AutoScaling + } + return nil +} + +// Optimized storage type +type FeatureOnlineStore_Optimized struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FeatureOnlineStore_Optimized) Reset() { + *x = FeatureOnlineStore_Optimized{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore_Optimized) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore_Optimized) ProtoMessage() {} + +func (x *FeatureOnlineStore_Optimized) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_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 FeatureOnlineStore_Optimized.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore_Optimized) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 1} +} + +// The dedicated serving endpoint for this FeatureOnlineStore. Only need to +// set when you choose Optimized storage type or enable EmbeddingManagement. +// Will use public endpoint by default. Note, for EmbeddingManagement use +// case, only [DedicatedServingEndpoint.public_endpoint_domain_name] is +// available now. +type FeatureOnlineStore_DedicatedServingEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. This field will be populated with the domain name to use for + // this FeatureOnlineStore + PublicEndpointDomainName string `protobuf:"bytes,2,opt,name=public_endpoint_domain_name,json=publicEndpointDomainName,proto3" json:"public_endpoint_domain_name,omitempty"` + // Optional. Private service connect config. The private service connection + // is available only for Optimized storage type, not for embedding + // management now. If + // [PrivateServiceConnectConfig.enable_private_service_connect][mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig.enable_private_service_connect] + // set to true, customers will use private service connection to send + // request. Otherwise, the connection will set to public endpoint. + PrivateServiceConnectConfig *PrivateServiceConnectConfig `protobuf:"bytes,3,opt,name=private_service_connect_config,json=privateServiceConnectConfig,proto3" json:"private_service_connect_config,omitempty"` + // Output only. The name of the service attachment resource. Populated if + // private service connect is enabled and after FeatureViewSync is created. + ServiceAttachment string `protobuf:"bytes,4,opt,name=service_attachment,json=serviceAttachment,proto3" json:"service_attachment,omitempty"` +} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) Reset() { + *x = FeatureOnlineStore_DedicatedServingEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore_DedicatedServingEndpoint) ProtoMessage() {} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[3] + 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 FeatureOnlineStore_DedicatedServingEndpoint.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore_DedicatedServingEndpoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) GetPublicEndpointDomainName() string { + if x != nil { + return x.PublicEndpointDomainName + } + return "" +} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) GetPrivateServiceConnectConfig() *PrivateServiceConnectConfig { + if x != nil { + return x.PrivateServiceConnectConfig + } + return nil +} + +func (x *FeatureOnlineStore_DedicatedServingEndpoint) GetServiceAttachment() string { + if x != nil { + return x.ServiceAttachment + } + return "" +} + +// Contains settings for embedding management. +type FeatureOnlineStore_EmbeddingManagement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Immutable. Whether to enable embedding management in this + // FeatureOnlineStore. It's immutable after creation to ensure the + // FeatureOnlineStore availability. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` +} + +func (x *FeatureOnlineStore_EmbeddingManagement) Reset() { + *x = FeatureOnlineStore_EmbeddingManagement{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore_EmbeddingManagement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore_EmbeddingManagement) ProtoMessage() {} + +func (x *FeatureOnlineStore_EmbeddingManagement) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[4] + 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 FeatureOnlineStore_EmbeddingManagement.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore_EmbeddingManagement) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *FeatureOnlineStore_EmbeddingManagement) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +type FeatureOnlineStore_Bigtable_AutoScaling struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The minimum number of nodes to scale down to. Must be greater + // than or equal to 1. + MinNodeCount int32 `protobuf:"varint,1,opt,name=min_node_count,json=minNodeCount,proto3" json:"min_node_count,omitempty"` + // Required. The maximum number of nodes to scale up to. Must be greater + // than or equal to min_node_count, and less than or equal to 10 times of + // 'min_node_count'. + MaxNodeCount int32 `protobuf:"varint,2,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"` + // Optional. A percentage of the cluster's CPU capacity. Can be from 10% + // to 80%. When a cluster's CPU utilization exceeds the target that you + // have set, Bigtable immediately adds nodes to the cluster. When CPU + // utilization is substantially lower than the target, Bigtable removes + // nodes. If not set will default to 50%. + CpuUtilizationTarget int32 `protobuf:"varint,3,opt,name=cpu_utilization_target,json=cpuUtilizationTarget,proto3" json:"cpu_utilization_target,omitempty"` +} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) Reset() { + *x = FeatureOnlineStore_Bigtable_AutoScaling{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureOnlineStore_Bigtable_AutoScaling) ProtoMessage() {} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_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 FeatureOnlineStore_Bigtable_AutoScaling.ProtoReflect.Descriptor instead. +func (*FeatureOnlineStore_Bigtable_AutoScaling) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) GetMinNodeCount() int32 { + if x != nil { + return x.MinNodeCount + } + return 0 +} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) GetMaxNodeCount() int32 { + if x != nil { + return x.MaxNodeCount + } + return 0 +} + +func (x *FeatureOnlineStore_Bigtable_AutoScaling) GetCpuUtilizationTarget() int32 { + if x != nil { + return x.CpuUtilizationTarget + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 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, 0x22, 0xe7, 0x0d, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5b, + 0x0a, 0x08, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x48, + 0x00, 0x52, 0x08, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x09, 0x6f, + 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x48, 0x00, + 0x52, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x12, 0x5d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x55, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x1a, 0x64, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x18, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x9e, 0x02, + 0x0a, 0x08, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x9e, 0x01, + 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, + 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x0b, + 0x0a, 0x09, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x1a, 0x9c, 0x02, 0x0a, 0x18, + 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x87, 0x01, 0x0a, + 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x37, 0x0a, 0x13, 0x45, 0x6d, + 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x3a, 0x86, 0x01, 0xea, 0x41, 0x82, 0x01, 0x0a, + 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x52, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x7d, 0x42, 0x0e, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0xef, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_goTypes = []interface{}{ + (FeatureOnlineStore_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.State + (*FeatureOnlineStore)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + (*FeatureOnlineStore_Bigtable)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Bigtable + (*FeatureOnlineStore_Optimized)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Optimized + (*FeatureOnlineStore_DedicatedServingEndpoint)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.DedicatedServingEndpoint + (*FeatureOnlineStore_EmbeddingManagement)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.EmbeddingManagement + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.LabelsEntry + (*FeatureOnlineStore_Bigtable_AutoScaling)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Bigtable.AutoScaling + (*timestamp.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*PrivateServiceConnectConfig)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.bigtable:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Bigtable + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.optimized:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Optimized + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.create_time:type_name -> google.protobuf.Timestamp + 8, // 3: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.update_time:type_name -> google.protobuf.Timestamp + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.LabelsEntry + 0, // 5: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.State + 4, // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.dedicated_serving_endpoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.DedicatedServingEndpoint + 5, // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.embedding_management:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.EmbeddingManagement + 7, // 8: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Bigtable.auto_scaling:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.Bigtable.AutoScaling + 9, // 9: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore.DedicatedServingEndpoint.private_service_connect_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore_Bigtable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore_Optimized); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore_DedicatedServingEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore_EmbeddingManagement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureOnlineStore_Bigtable_AutoScaling); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*FeatureOnlineStore_Bigtable_)(nil), + (*FeatureOnlineStore_Optimized_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.go new file mode 100644 index 0000000000..ec05d1fc1d --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.go @@ -0,0 +1,2320 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureOnlineStore][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureOnlineStore]. +type CreateFeatureOnlineStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The FeatureOnlineStore to create. + FeatureOnlineStore *FeatureOnlineStore `protobuf:"bytes,2,opt,name=feature_online_store,json=featureOnlineStore,proto3" json:"feature_online_store,omitempty"` + // Required. The ID to use for this FeatureOnlineStore, which will become the + // final component of the FeatureOnlineStore's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + FeatureOnlineStoreId string `protobuf:"bytes,3,opt,name=feature_online_store_id,json=featureOnlineStoreId,proto3" json:"feature_online_store_id,omitempty"` +} + +func (x *CreateFeatureOnlineStoreRequest) Reset() { + *x = CreateFeatureOnlineStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureOnlineStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureOnlineStoreRequest) ProtoMessage() {} + +func (x *CreateFeatureOnlineStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[0] + 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 CreateFeatureOnlineStoreRequest.ProtoReflect.Descriptor instead. +func (*CreateFeatureOnlineStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateFeatureOnlineStoreRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateFeatureOnlineStoreRequest) GetFeatureOnlineStore() *FeatureOnlineStore { + if x != nil { + return x.FeatureOnlineStore + } + return nil +} + +func (x *CreateFeatureOnlineStoreRequest) GetFeatureOnlineStoreId() string { + if x != nil { + return x.FeatureOnlineStoreId + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureOnlineStore][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureOnlineStore]. +type GetFeatureOnlineStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureOnlineStore resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeatureOnlineStoreRequest) Reset() { + *x = GetFeatureOnlineStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeatureOnlineStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeatureOnlineStoreRequest) ProtoMessage() {} + +func (x *GetFeatureOnlineStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[1] + 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 GetFeatureOnlineStoreRequest.ProtoReflect.Descriptor instead. +func (*GetFeatureOnlineStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetFeatureOnlineStoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +type ListFeatureOnlineStoresRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list FeatureOnlineStores. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the FeatureOnlineStores that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureOnlineStores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureOnlineStores with label "env" set to "prod". + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of FeatureOnlineStores to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureOnlineStores will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListFeatureOnlineStoresRequest) Reset() { + *x = ListFeatureOnlineStoresRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureOnlineStoresRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureOnlineStoresRequest) ProtoMessage() {} + +func (x *ListFeatureOnlineStoresRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_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 ListFeatureOnlineStoresRequest.ProtoReflect.Descriptor instead. +func (*ListFeatureOnlineStoresRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListFeatureOnlineStoresRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeatureOnlineStoresRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeatureOnlineStoresRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeatureOnlineStoresRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeatureOnlineStoresRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureOnlineStores][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores]. +type ListFeatureOnlineStoresResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The FeatureOnlineStores matching the request. + FeatureOnlineStores []*FeatureOnlineStore `protobuf:"bytes,1,rep,name=feature_online_stores,json=featureOnlineStores,proto3" json:"feature_online_stores,omitempty"` + // A token, which can be sent as + // [ListFeatureOnlineStoresRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeatureOnlineStoresResponse) Reset() { + *x = ListFeatureOnlineStoresResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureOnlineStoresResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureOnlineStoresResponse) ProtoMessage() {} + +func (x *ListFeatureOnlineStoresResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[3] + 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 ListFeatureOnlineStoresResponse.ProtoReflect.Descriptor instead. +func (*ListFeatureOnlineStoresResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListFeatureOnlineStoresResponse) GetFeatureOnlineStores() []*FeatureOnlineStore { + if x != nil { + return x.FeatureOnlineStores + } + return nil +} + +func (x *ListFeatureOnlineStoresResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore]. +type UpdateFeatureOnlineStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The FeatureOnlineStore's `name` field is used to identify the + // FeatureOnlineStore to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + FeatureOnlineStore *FeatureOnlineStore `protobuf:"bytes,1,opt,name=feature_online_store,json=featureOnlineStore,proto3" json:"feature_online_store,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // FeatureOnlineStore resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `big_query_source` + // - `bigtable` + // - `labels` + // - `sync_config` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateFeatureOnlineStoreRequest) Reset() { + *x = UpdateFeatureOnlineStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureOnlineStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureOnlineStoreRequest) ProtoMessage() {} + +func (x *UpdateFeatureOnlineStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[4] + 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 UpdateFeatureOnlineStoreRequest.ProtoReflect.Descriptor instead. +func (*UpdateFeatureOnlineStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateFeatureOnlineStoreRequest) GetFeatureOnlineStore() *FeatureOnlineStore { + if x != nil { + return x.FeatureOnlineStore + } + return nil +} + +func (x *UpdateFeatureOnlineStoreRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore]. +type DeleteFeatureOnlineStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureOnlineStore to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set to true, any FeatureViews and Features for this FeatureOnlineStore + // will also be deleted. (Otherwise, the request will only work if the + // FeatureOnlineStore has no FeatureViews.) + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteFeatureOnlineStoreRequest) Reset() { + *x = DeleteFeatureOnlineStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureOnlineStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureOnlineStoreRequest) ProtoMessage() {} + +func (x *DeleteFeatureOnlineStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[5] + 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 DeleteFeatureOnlineStoreRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeatureOnlineStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteFeatureOnlineStoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteFeatureOnlineStoreRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for +// [FeatureOnlineStoreAdminService.CreateFeatureView][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureView]. +type CreateFeatureViewRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the FeatureOnlineStore to create + // FeatureViews. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The FeatureView to create. + FeatureView *FeatureView `protobuf:"bytes,2,opt,name=feature_view,json=featureView,proto3" json:"feature_view,omitempty"` + // Required. The ID to use for the FeatureView, which will become the final + // component of the FeatureView's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within a FeatureOnlineStore. + FeatureViewId string `protobuf:"bytes,3,opt,name=feature_view_id,json=featureViewId,proto3" json:"feature_view_id,omitempty"` + // Immutable. If set to true, one on demand sync will be run immediately, + // regardless whether the + // [FeatureView.sync_config][mockgcp.cloud.aiplatform.v1beta1.FeatureView.sync_config] + // is configured or not. + RunSyncImmediately bool `protobuf:"varint,4,opt,name=run_sync_immediately,json=runSyncImmediately,proto3" json:"run_sync_immediately,omitempty"` +} + +func (x *CreateFeatureViewRequest) Reset() { + *x = CreateFeatureViewRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureViewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureViewRequest) ProtoMessage() {} + +func (x *CreateFeatureViewRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_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 CreateFeatureViewRequest.ProtoReflect.Descriptor instead. +func (*CreateFeatureViewRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateFeatureViewRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateFeatureViewRequest) GetFeatureView() *FeatureView { + if x != nil { + return x.FeatureView + } + return nil +} + +func (x *CreateFeatureViewRequest) GetFeatureViewId() string { + if x != nil { + return x.FeatureViewId + } + return "" +} + +func (x *CreateFeatureViewRequest) GetRunSyncImmediately() bool { + if x != nil { + return x.RunSyncImmediately + } + return false +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureView][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureView]. +type GetFeatureViewRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureView resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeatureViewRequest) Reset() { + *x = GetFeatureViewRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeatureViewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeatureViewRequest) ProtoMessage() {} + +func (x *GetFeatureViewRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[7] + 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 GetFeatureViewRequest.ProtoReflect.Descriptor instead. +func (*GetFeatureViewRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{7} +} + +func (x *GetFeatureViewRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews]. +type ListFeatureViewsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the FeatureOnlineStore to list FeatureViews. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the FeatureViews that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `labels`: Supports key-value equality as well as key presence. + // + // Examples: + // + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViews + // created or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> FeatureViews having both + // (active: yes) and (env: prod) labels. + // - `labels.env: *` --> Any FeatureView which has a label with 'env' as the + // key. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of FeatureViews to return. The service may return fewer + // than this value. If unspecified, at most 1000 FeatureViews will be + // returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViews][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViews][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // - `feature_view_id` + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListFeatureViewsRequest) Reset() { + *x = ListFeatureViewsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureViewsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureViewsRequest) ProtoMessage() {} + +func (x *ListFeatureViewsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_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 ListFeatureViewsRequest.ProtoReflect.Descriptor instead. +func (*ListFeatureViewsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ListFeatureViewsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeatureViewsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeatureViewsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeatureViewsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeatureViewsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViews][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews]. +type ListFeatureViewsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The FeatureViews matching the request. + FeatureViews []*FeatureView `protobuf:"bytes,1,rep,name=feature_views,json=featureViews,proto3" json:"feature_views,omitempty"` + // A token, which can be sent as + // [ListFeatureViewsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeatureViewsResponse) Reset() { + *x = ListFeatureViewsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureViewsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureViewsResponse) ProtoMessage() {} + +func (x *ListFeatureViewsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[9] + 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 ListFeatureViewsResponse.ProtoReflect.Descriptor instead. +func (*ListFeatureViewsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListFeatureViewsResponse) GetFeatureViews() []*FeatureView { + if x != nil { + return x.FeatureViews + } + return nil +} + +func (x *ListFeatureViewsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.UpdateFeatureView][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureView]. +type UpdateFeatureViewRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The FeatureView's `name` field is used to identify the + // FeatureView to be updated. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + FeatureView *FeatureView `protobuf:"bytes,1,opt,name=feature_view,json=featureView,proto3" json:"feature_view,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // FeatureView resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `labels` + // - `serviceAgentType` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateFeatureViewRequest) Reset() { + *x = UpdateFeatureViewRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureViewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureViewRequest) ProtoMessage() {} + +func (x *UpdateFeatureViewRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[10] + 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 UpdateFeatureViewRequest.ProtoReflect.Descriptor instead. +func (*UpdateFeatureViewRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateFeatureViewRequest) GetFeatureView() *FeatureView { + if x != nil { + return x.FeatureView + } + return nil +} + +func (x *UpdateFeatureViewRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for [FeatureOnlineStoreAdminService.DeleteFeatureViews][]. +type DeleteFeatureViewRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureView to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteFeatureViewRequest) Reset() { + *x = DeleteFeatureViewRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureViewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureViewRequest) ProtoMessage() {} + +func (x *DeleteFeatureViewRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[11] + 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 DeleteFeatureViewRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeatureViewRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{11} +} + +func (x *DeleteFeatureViewRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Details of operations that perform create FeatureOnlineStore. +type CreateFeatureOnlineStoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureOnlineStore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateFeatureOnlineStoreOperationMetadata) Reset() { + *x = CreateFeatureOnlineStoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureOnlineStoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureOnlineStoreOperationMetadata) ProtoMessage() {} + +func (x *CreateFeatureOnlineStoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[12] + 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 CreateFeatureOnlineStoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateFeatureOnlineStoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{12} +} + +func (x *CreateFeatureOnlineStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update FeatureOnlineStore. +type UpdateFeatureOnlineStoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureOnlineStore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateFeatureOnlineStoreOperationMetadata) Reset() { + *x = UpdateFeatureOnlineStoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureOnlineStoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureOnlineStoreOperationMetadata) ProtoMessage() {} + +func (x *UpdateFeatureOnlineStoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[13] + 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 UpdateFeatureOnlineStoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateFeatureOnlineStoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateFeatureOnlineStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform create FeatureView. +type CreateFeatureViewOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureView Create. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateFeatureViewOperationMetadata) Reset() { + *x = CreateFeatureViewOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureViewOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureViewOperationMetadata) ProtoMessage() {} + +func (x *CreateFeatureViewOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[14] + 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 CreateFeatureViewOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateFeatureViewOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateFeatureViewOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update FeatureView. +type UpdateFeatureViewOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureView Update. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateFeatureViewOperationMetadata) Reset() { + *x = UpdateFeatureViewOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureViewOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureViewOperationMetadata) ProtoMessage() {} + +func (x *UpdateFeatureViewOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_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 UpdateFeatureViewOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateFeatureViewOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{15} +} + +func (x *UpdateFeatureViewOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView]. +type SyncFeatureViewRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + FeatureView string `protobuf:"bytes,1,opt,name=feature_view,json=featureView,proto3" json:"feature_view,omitempty"` +} + +func (x *SyncFeatureViewRequest) Reset() { + *x = SyncFeatureViewRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncFeatureViewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncFeatureViewRequest) ProtoMessage() {} + +func (x *SyncFeatureViewRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[16] + 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 SyncFeatureViewRequest.ProtoReflect.Descriptor instead. +func (*SyncFeatureViewRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{16} +} + +func (x *SyncFeatureViewRequest) GetFeatureView() string { + if x != nil { + return x.FeatureView + } + return "" +} + +// Respose message for +// [FeatureOnlineStoreAdminService.SyncFeatureView][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView]. +type SyncFeatureViewResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + FeatureViewSync string `protobuf:"bytes,1,opt,name=feature_view_sync,json=featureViewSync,proto3" json:"feature_view_sync,omitempty"` +} + +func (x *SyncFeatureViewResponse) Reset() { + *x = SyncFeatureViewResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncFeatureViewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncFeatureViewResponse) ProtoMessage() {} + +func (x *SyncFeatureViewResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[17] + 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 SyncFeatureViewResponse.ProtoReflect.Descriptor instead. +func (*SyncFeatureViewResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{17} +} + +func (x *SyncFeatureViewResponse) GetFeatureViewSync() string { + if x != nil { + return x.FeatureViewSync + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.GetFeatureViewSync][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureViewSync]. +type GetFeatureViewSyncRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureViewSync resource. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeatureViewSyncRequest) Reset() { + *x = GetFeatureViewSyncRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeatureViewSyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeatureViewSyncRequest) ProtoMessage() {} + +func (x *GetFeatureViewSyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[18] + 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 GetFeatureViewSyncRequest.ProtoReflect.Descriptor instead. +func (*GetFeatureViewSyncRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{18} +} + +func (x *GetFeatureViewSyncRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +type ListFeatureViewSyncsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the FeatureView to list FeatureViewSyncs. + // Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the FeatureViewSyncs that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // + // Examples: + // + // - `create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs + // created after 2020-01-31T15:30:00.000000Z. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of FeatureViewSyncs to return. The service may return + // fewer than this value. If unspecified, at most 1000 FeatureViewSyncs will + // be returned. The maximum value is 1000; any value greater than 1000 will be + // coerced to 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // - `create_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListFeatureViewSyncsRequest) Reset() { + *x = ListFeatureViewSyncsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureViewSyncsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureViewSyncsRequest) ProtoMessage() {} + +func (x *ListFeatureViewSyncsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[19] + 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 ListFeatureViewSyncsRequest.ProtoReflect.Descriptor instead. +func (*ListFeatureViewSyncsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{19} +} + +func (x *ListFeatureViewSyncsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeatureViewSyncsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeatureViewSyncsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeatureViewSyncsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeatureViewSyncsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [FeatureOnlineStoreAdminService.ListFeatureViewSyncs][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs]. +type ListFeatureViewSyncsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The FeatureViewSyncs matching the request. + FeatureViewSyncs []*FeatureViewSync `protobuf:"bytes,1,rep,name=feature_view_syncs,json=featureViewSyncs,proto3" json:"feature_view_syncs,omitempty"` + // A token, which can be sent as + // [ListFeatureViewSyncsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeatureViewSyncsResponse) Reset() { + *x = ListFeatureViewSyncsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureViewSyncsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureViewSyncsResponse) ProtoMessage() {} + +func (x *ListFeatureViewSyncsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[20] + 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 ListFeatureViewSyncsResponse.ProtoReflect.Descriptor instead. +func (*ListFeatureViewSyncsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP(), []int{20} +} + +func (x *ListFeatureViewSyncsResponse) GetFeatureViewSyncs() []*FeatureViewSync { + if x != nil { + return x.FeatureViewSyncs + } + return nil +} + +func (x *ListFeatureViewSyncsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDesc = []byte{ + 0x0a, 0x49, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0x98, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x12, 0x2c, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x12, 0x3a, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x68, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2e, 0x12, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x15, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x65, 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, 0xcb, 0x01, + 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x6b, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x81, 0x01, 0x0a, 0x1f, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, + 0xa3, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x12, 0x2b, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x35, + 0x0a, 0x14, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, + 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x22, 0x96, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x52, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 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, 0xae, 0x01, 0x0a, + 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, + 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x02, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5d, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, + 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x01, 0x0a, + 0x29, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x92, 0x01, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8b, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, + 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x8b, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0c, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x22, 0x45, + 0x0a, 0x17, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x53, 0x79, 0x6e, 0x63, 0x22, 0x62, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, + 0x79, 0x6e, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x1b, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, + 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, + 0xa7, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5f, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x52, + 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, + 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, 0x32, 0x8a, 0x1c, 0x0a, 0x1e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd1, 0x02, 0x0a, + 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 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, 0xd2, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x54, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x73, 0x3a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x33, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, + 0x3f, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xda, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xed, 0x01, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd3, 0x02, + 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 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, 0xd4, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x32, 0x51, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, + 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0xca, 0x41, 0x3f, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x83, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 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, 0x84, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, + 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xac, 0x02, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 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, 0xbb, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5b, 0x22, 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, + 0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0xda, 0x41, + 0x23, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x76, 0x69, 0x65, 0x77, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x31, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x37, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x22, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xe7, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xae, 0x02, 0x0a, 0x11, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 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, 0xbd, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x68, 0x32, 0x58, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0c, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0xda, 0x41, 0x18, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x31, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfe, 0x01, 0x0a, 0x11, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, + 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 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, 0x8d, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfa, 0x01, 0x0a, 0x0f, + 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, + 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x22, 0x58, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x76, 0x69, 0x65, 0x77, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x73, 0x79, 0x6e, 0x63, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x12, 0xf3, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x12, + 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x22, + 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x5e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, + 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, + 0x79, 0x6e, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x86, + 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x5e, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xfb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x23, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, + 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_goTypes = []interface{}{ + (*CreateFeatureOnlineStoreRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreRequest + (*GetFeatureOnlineStoreRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetFeatureOnlineStoreRequest + (*ListFeatureOnlineStoresRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresRequest + (*ListFeatureOnlineStoresResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresResponse + (*UpdateFeatureOnlineStoreRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreRequest + (*DeleteFeatureOnlineStoreRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureOnlineStoreRequest + (*CreateFeatureViewRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureViewRequest + (*GetFeatureViewRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.GetFeatureViewRequest + (*ListFeatureViewsRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsRequest + (*ListFeatureViewsResponse)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsResponse + (*UpdateFeatureViewRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewRequest + (*DeleteFeatureViewRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureViewRequest + (*CreateFeatureOnlineStoreOperationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreOperationMetadata + (*UpdateFeatureOnlineStoreOperationMetadata)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreOperationMetadata + (*CreateFeatureViewOperationMetadata)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata + (*UpdateFeatureViewOperationMetadata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewOperationMetadata + (*SyncFeatureViewRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.SyncFeatureViewRequest + (*SyncFeatureViewResponse)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.SyncFeatureViewResponse + (*GetFeatureViewSyncRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.GetFeatureViewSyncRequest + (*ListFeatureViewSyncsRequest)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsRequest + (*ListFeatureViewSyncsResponse)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsResponse + (*FeatureOnlineStore)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + (*field_mask.FieldMask)(nil), // 22: google.protobuf.FieldMask + (*FeatureView)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.FeatureView + (*GenericOperationMetadata)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*FeatureViewSync)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync + (*longrunningpb.Operation)(nil), // 26: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_depIdxs = []int32{ + 21, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreRequest.feature_online_store:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + 21, // 1: mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresResponse.feature_online_stores:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + 21, // 2: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreRequest.feature_online_store:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + 22, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreRequest.update_mask:type_name -> google.protobuf.FieldMask + 23, // 4: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureViewRequest.feature_view:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView + 23, // 5: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsResponse.feature_views:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView + 23, // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewRequest.feature_view:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView + 22, // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewRequest.update_mask:type_name -> google.protobuf.FieldMask + 24, // 8: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 24, // 9: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 24, // 10: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureViewOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 24, // 11: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 25, // 12: mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsResponse.feature_view_syncs:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync + 0, // 13: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureOnlineStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOnlineStoreRequest + 1, // 14: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureOnlineStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureOnlineStoreRequest + 2, // 15: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresRequest + 4, // 16: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOnlineStoreRequest + 5, // 17: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureOnlineStoreRequest + 6, // 18: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureView:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureViewRequest + 7, // 19: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureView:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureViewRequest + 8, // 20: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsRequest + 10, // 21: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureView:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureViewRequest + 11, // 22: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureView:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureViewRequest + 16, // 23: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView:input_type -> mockgcp.cloud.aiplatform.v1beta1.SyncFeatureViewRequest + 18, // 24: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureViewSync:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureViewSyncRequest + 19, // 25: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsRequest + 26, // 26: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureOnlineStore:output_type -> google.longrunning.Operation + 21, // 27: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureOnlineStore:output_type -> mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStore + 3, // 28: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureOnlineStores:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureOnlineStoresResponse + 26, // 29: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureOnlineStore:output_type -> google.longrunning.Operation + 26, // 30: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureOnlineStore:output_type -> google.longrunning.Operation + 26, // 31: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.CreateFeatureView:output_type -> google.longrunning.Operation + 23, // 32: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureView:output_type -> mockgcp.cloud.aiplatform.v1beta1.FeatureView + 9, // 33: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViews:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewsResponse + 26, // 34: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.UpdateFeatureView:output_type -> google.longrunning.Operation + 26, // 35: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.DeleteFeatureView:output_type -> google.longrunning.Operation + 17, // 36: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.SyncFeatureView:output_type -> mockgcp.cloud.aiplatform.v1beta1.SyncFeatureViewResponse + 25, // 37: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.GetFeatureViewSync:output_type -> mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync + 20, // 38: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService.ListFeatureViewSyncs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureViewSyncsResponse + 26, // [26:39] is the sub-list for method output_type + 13, // [13:26] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureOnlineStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeatureOnlineStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureOnlineStoresRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureOnlineStoresResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureOnlineStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureOnlineStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureViewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeatureViewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureViewsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureViewsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureViewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureViewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureOnlineStoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureOnlineStoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureViewOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureViewOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncFeatureViewRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SyncFeatureViewResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeatureViewSyncRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureViewSyncsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureViewSyncsResponse); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 21, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_admin_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.gw.go new file mode 100644 index 0000000000..c257e5ebe7 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.pb.gw.go @@ -0,0 +1,1677 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_online_store": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureOnlineStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeatureOnlineStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureOnlineStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeatureOnlineStore(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeatureOnlineStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeatureOnlineStore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureOnlineStoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatureOnlineStores(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureOnlineStoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatureOnlineStores(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_online_store": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureOnlineStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureOnlineStore); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_online_store.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_online_store.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_online_store.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_online_store.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeatureOnlineStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureOnlineStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureOnlineStore); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_online_store.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_online_store.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_online_store.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_online_store.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeatureOnlineStore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteFeatureOnlineStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureOnlineStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteFeatureOnlineStore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_CreateFeatureView_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_view": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeatureOnlineStoreAdminService_CreateFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureView); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_CreateFeatureView_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeatureView(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_CreateFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureView); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_CreateFeatureView_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeatureView(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreAdminService_GetFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureViewRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeatureView(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_GetFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureViewRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeatureView(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_ListFeatureViews_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureOnlineStoreAdminService_ListFeatureViews_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureViewsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureViews_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatureViews(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_ListFeatureViews_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureViewsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureViews_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatureViews(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_UpdateFeatureView_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_view": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeatureOnlineStoreAdminService_UpdateFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureView); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureView); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_view.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_UpdateFeatureView_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeatureView(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_UpdateFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureView); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureView); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_view.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_UpdateFeatureView_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeatureView(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreAdminService_DeleteFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureViewRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteFeatureView(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_DeleteFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureViewRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteFeatureView(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreAdminService_SyncFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SyncFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := client.SyncFeatureView(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_SyncFeatureView_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SyncFeatureViewRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := server.SyncFeatureView(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureViewSyncRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeatureViewSync(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureViewSyncRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeatureViewSync(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreAdminServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureViewSyncsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatureViewSyncs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreAdminServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureViewSyncsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatureViewSyncs(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterFeatureOnlineStoreAdminServiceHandlerServer registers the http handlers for service FeatureOnlineStoreAdminService to "mux". +// UnaryRPC :call FeatureOnlineStoreAdminServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterFeatureOnlineStoreAdminServiceHandlerFromEndpoint instead. +func RegisterFeatureOnlineStoreAdminServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server FeatureOnlineStoreAdminServiceServer) error { + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureOnlineStores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{feature_online_store.name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_CreateFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_CreateFeatureView_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_CreateFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_GetFeatureView_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureViews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViews", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_ListFeatureViews_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureViews_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureOnlineStoreAdminService_UpdateFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{feature_view.name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_UpdateFeatureView_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_UpdateFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureOnlineStoreAdminService_DeleteFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_DeleteFeatureView_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_DeleteFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_SyncFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/SyncFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:sync")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_SyncFeatureView_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_SyncFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureViewSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureViewSync", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/featureViewSyncs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViewSyncs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*/featureViews/*}/featureViewSyncs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterFeatureOnlineStoreAdminServiceHandlerFromEndpoint is same as RegisterFeatureOnlineStoreAdminServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterFeatureOnlineStoreAdminServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterFeatureOnlineStoreAdminServiceHandler(ctx, mux, conn) +} + +// RegisterFeatureOnlineStoreAdminServiceHandler registers the http handlers for service FeatureOnlineStoreAdminService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterFeatureOnlineStoreAdminServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterFeatureOnlineStoreAdminServiceHandlerClient(ctx, mux, NewFeatureOnlineStoreAdminServiceClient(conn)) +} + +// RegisterFeatureOnlineStoreAdminServiceHandlerClient registers the http handlers for service FeatureOnlineStoreAdminService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "FeatureOnlineStoreAdminServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "FeatureOnlineStoreAdminServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "FeatureOnlineStoreAdminServiceClient" to call the correct interceptors. +func RegisterFeatureOnlineStoreAdminServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client FeatureOnlineStoreAdminServiceClient) error { + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureOnlineStores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureOnlineStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{feature_online_store.name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureOnlineStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_CreateFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_CreateFeatureView_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_CreateFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_GetFeatureView_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureViews_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViews", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*}/featureViews")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_ListFeatureViews_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureViews_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureOnlineStoreAdminService_UpdateFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{feature_view.name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_UpdateFeatureView_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_UpdateFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureOnlineStoreAdminService_DeleteFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_DeleteFeatureView_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_DeleteFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreAdminService_SyncFeatureView_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/SyncFeatureView", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:sync")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_SyncFeatureView_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_SyncFeatureView_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_GetFeatureViewSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureViewSync", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureOnlineStores/*/featureViews/*/featureViewSyncs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_GetFeatureViewSync_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViewSyncs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureOnlineStores/*/featureViews/*}/featureViewSyncs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featureOnlineStores"}, "")) + + pattern_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "name"}, "")) + + pattern_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featureOnlineStores"}, "")) + + pattern_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "feature_online_store.name"}, "")) + + pattern_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "name"}, "")) + + pattern_FeatureOnlineStoreAdminService_CreateFeatureView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "parent", "featureViews"}, "")) + + pattern_FeatureOnlineStoreAdminService_GetFeatureView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "name"}, "")) + + pattern_FeatureOnlineStoreAdminService_ListFeatureViews_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "parent", "featureViews"}, "")) + + pattern_FeatureOnlineStoreAdminService_UpdateFeatureView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "feature_view.name"}, "")) + + pattern_FeatureOnlineStoreAdminService_DeleteFeatureView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "name"}, "")) + + pattern_FeatureOnlineStoreAdminService_SyncFeatureView_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "feature_view"}, "sync")) + + pattern_FeatureOnlineStoreAdminService_GetFeatureViewSync_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "featureViewSyncs", "name"}, "")) + + pattern_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "parent", "featureViewSyncs"}, "")) +) + +var ( + forward_FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_GetFeatureOnlineStore_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_ListFeatureOnlineStores_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_CreateFeatureView_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_GetFeatureView_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_ListFeatureViews_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_UpdateFeatureView_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_DeleteFeatureView_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_SyncFeatureView_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_GetFeatureViewSync_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreAdminService_ListFeatureViewSyncs_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service_grpc.pb.go new file mode 100644 index 0000000000..42979b0915 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service_grpc.pb.go @@ -0,0 +1,567 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FeatureOnlineStoreAdminServiceClient is the client API for FeatureOnlineStoreAdminService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FeatureOnlineStoreAdminServiceClient interface { + // Creates a new FeatureOnlineStore in a given project and location. + CreateFeatureOnlineStore(ctx context.Context, in *CreateFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single FeatureOnlineStore. + GetFeatureOnlineStore(ctx context.Context, in *GetFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*FeatureOnlineStore, error) + // Lists FeatureOnlineStores in a given project and location. + ListFeatureOnlineStores(ctx context.Context, in *ListFeatureOnlineStoresRequest, opts ...grpc.CallOption) (*ListFeatureOnlineStoresResponse, error) + // Updates the parameters of a single FeatureOnlineStore. + UpdateFeatureOnlineStore(ctx context.Context, in *UpdateFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not + // contain any FeatureViews. + DeleteFeatureOnlineStore(ctx context.Context, in *DeleteFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a new FeatureView in a given FeatureOnlineStore. + CreateFeatureView(ctx context.Context, in *CreateFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single FeatureView. + GetFeatureView(ctx context.Context, in *GetFeatureViewRequest, opts ...grpc.CallOption) (*FeatureView, error) + // Lists FeatureViews in a given FeatureOnlineStore. + ListFeatureViews(ctx context.Context, in *ListFeatureViewsRequest, opts ...grpc.CallOption) (*ListFeatureViewsResponse, error) + // Updates the parameters of a single FeatureView. + UpdateFeatureView(ctx context.Context, in *UpdateFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single FeatureView. + DeleteFeatureView(ctx context.Context, in *DeleteFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Triggers on-demand sync for the FeatureView. + SyncFeatureView(ctx context.Context, in *SyncFeatureViewRequest, opts ...grpc.CallOption) (*SyncFeatureViewResponse, error) + // Gets details of a single FeatureViewSync. + GetFeatureViewSync(ctx context.Context, in *GetFeatureViewSyncRequest, opts ...grpc.CallOption) (*FeatureViewSync, error) + // Lists FeatureViewSyncs in a given FeatureView. + ListFeatureViewSyncs(ctx context.Context, in *ListFeatureViewSyncsRequest, opts ...grpc.CallOption) (*ListFeatureViewSyncsResponse, error) +} + +type featureOnlineStoreAdminServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFeatureOnlineStoreAdminServiceClient(cc grpc.ClientConnInterface) FeatureOnlineStoreAdminServiceClient { + return &featureOnlineStoreAdminServiceClient{cc} +} + +func (c *featureOnlineStoreAdminServiceClient) CreateFeatureOnlineStore(ctx context.Context, in *CreateFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureOnlineStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) GetFeatureOnlineStore(ctx context.Context, in *GetFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*FeatureOnlineStore, error) { + out := new(FeatureOnlineStore) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureOnlineStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) ListFeatureOnlineStores(ctx context.Context, in *ListFeatureOnlineStoresRequest, opts ...grpc.CallOption) (*ListFeatureOnlineStoresResponse, error) { + out := new(ListFeatureOnlineStoresResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureOnlineStores", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) UpdateFeatureOnlineStore(ctx context.Context, in *UpdateFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureOnlineStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) DeleteFeatureOnlineStore(ctx context.Context, in *DeleteFeatureOnlineStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureOnlineStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) CreateFeatureView(ctx context.Context, in *CreateFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureView", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) GetFeatureView(ctx context.Context, in *GetFeatureViewRequest, opts ...grpc.CallOption) (*FeatureView, error) { + out := new(FeatureView) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureView", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) ListFeatureViews(ctx context.Context, in *ListFeatureViewsRequest, opts ...grpc.CallOption) (*ListFeatureViewsResponse, error) { + out := new(ListFeatureViewsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViews", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) UpdateFeatureView(ctx context.Context, in *UpdateFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureView", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) DeleteFeatureView(ctx context.Context, in *DeleteFeatureViewRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureView", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) SyncFeatureView(ctx context.Context, in *SyncFeatureViewRequest, opts ...grpc.CallOption) (*SyncFeatureViewResponse, error) { + out := new(SyncFeatureViewResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/SyncFeatureView", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) GetFeatureViewSync(ctx context.Context, in *GetFeatureViewSyncRequest, opts ...grpc.CallOption) (*FeatureViewSync, error) { + out := new(FeatureViewSync) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureViewSync", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreAdminServiceClient) ListFeatureViewSyncs(ctx context.Context, in *ListFeatureViewSyncsRequest, opts ...grpc.CallOption) (*ListFeatureViewSyncsResponse, error) { + out := new(ListFeatureViewSyncsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViewSyncs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FeatureOnlineStoreAdminServiceServer is the server API for FeatureOnlineStoreAdminService service. +// All implementations must embed UnimplementedFeatureOnlineStoreAdminServiceServer +// for forward compatibility +type FeatureOnlineStoreAdminServiceServer interface { + // Creates a new FeatureOnlineStore in a given project and location. + CreateFeatureOnlineStore(context.Context, *CreateFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) + // Gets details of a single FeatureOnlineStore. + GetFeatureOnlineStore(context.Context, *GetFeatureOnlineStoreRequest) (*FeatureOnlineStore, error) + // Lists FeatureOnlineStores in a given project and location. + ListFeatureOnlineStores(context.Context, *ListFeatureOnlineStoresRequest) (*ListFeatureOnlineStoresResponse, error) + // Updates the parameters of a single FeatureOnlineStore. + UpdateFeatureOnlineStore(context.Context, *UpdateFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) + // Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not + // contain any FeatureViews. + DeleteFeatureOnlineStore(context.Context, *DeleteFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) + // Creates a new FeatureView in a given FeatureOnlineStore. + CreateFeatureView(context.Context, *CreateFeatureViewRequest) (*longrunningpb.Operation, error) + // Gets details of a single FeatureView. + GetFeatureView(context.Context, *GetFeatureViewRequest) (*FeatureView, error) + // Lists FeatureViews in a given FeatureOnlineStore. + ListFeatureViews(context.Context, *ListFeatureViewsRequest) (*ListFeatureViewsResponse, error) + // Updates the parameters of a single FeatureView. + UpdateFeatureView(context.Context, *UpdateFeatureViewRequest) (*longrunningpb.Operation, error) + // Deletes a single FeatureView. + DeleteFeatureView(context.Context, *DeleteFeatureViewRequest) (*longrunningpb.Operation, error) + // Triggers on-demand sync for the FeatureView. + SyncFeatureView(context.Context, *SyncFeatureViewRequest) (*SyncFeatureViewResponse, error) + // Gets details of a single FeatureViewSync. + GetFeatureViewSync(context.Context, *GetFeatureViewSyncRequest) (*FeatureViewSync, error) + // Lists FeatureViewSyncs in a given FeatureView. + ListFeatureViewSyncs(context.Context, *ListFeatureViewSyncsRequest) (*ListFeatureViewSyncsResponse, error) + mustEmbedUnimplementedFeatureOnlineStoreAdminServiceServer() +} + +// UnimplementedFeatureOnlineStoreAdminServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFeatureOnlineStoreAdminServiceServer struct { +} + +func (UnimplementedFeatureOnlineStoreAdminServiceServer) CreateFeatureOnlineStore(context.Context, *CreateFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeatureOnlineStore not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) GetFeatureOnlineStore(context.Context, *GetFeatureOnlineStoreRequest) (*FeatureOnlineStore, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeatureOnlineStore not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) ListFeatureOnlineStores(context.Context, *ListFeatureOnlineStoresRequest) (*ListFeatureOnlineStoresResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatureOnlineStores not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) UpdateFeatureOnlineStore(context.Context, *UpdateFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeatureOnlineStore not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) DeleteFeatureOnlineStore(context.Context, *DeleteFeatureOnlineStoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeatureOnlineStore not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) CreateFeatureView(context.Context, *CreateFeatureViewRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeatureView not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) GetFeatureView(context.Context, *GetFeatureViewRequest) (*FeatureView, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeatureView not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) ListFeatureViews(context.Context, *ListFeatureViewsRequest) (*ListFeatureViewsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatureViews not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) UpdateFeatureView(context.Context, *UpdateFeatureViewRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeatureView not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) DeleteFeatureView(context.Context, *DeleteFeatureViewRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeatureView not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) SyncFeatureView(context.Context, *SyncFeatureViewRequest) (*SyncFeatureViewResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncFeatureView not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) GetFeatureViewSync(context.Context, *GetFeatureViewSyncRequest) (*FeatureViewSync, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeatureViewSync not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) ListFeatureViewSyncs(context.Context, *ListFeatureViewSyncsRequest) (*ListFeatureViewSyncsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatureViewSyncs not implemented") +} +func (UnimplementedFeatureOnlineStoreAdminServiceServer) mustEmbedUnimplementedFeatureOnlineStoreAdminServiceServer() { +} + +// UnsafeFeatureOnlineStoreAdminServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FeatureOnlineStoreAdminServiceServer will +// result in compilation errors. +type UnsafeFeatureOnlineStoreAdminServiceServer interface { + mustEmbedUnimplementedFeatureOnlineStoreAdminServiceServer() +} + +func RegisterFeatureOnlineStoreAdminServiceServer(s grpc.ServiceRegistrar, srv FeatureOnlineStoreAdminServiceServer) { + s.RegisterService(&FeatureOnlineStoreAdminService_ServiceDesc, srv) +} + +func _FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeatureOnlineStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).CreateFeatureOnlineStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureOnlineStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).CreateFeatureOnlineStore(ctx, req.(*CreateFeatureOnlineStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_GetFeatureOnlineStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureOnlineStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureOnlineStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureOnlineStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureOnlineStore(ctx, req.(*GetFeatureOnlineStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_ListFeatureOnlineStores_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeatureOnlineStoresRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureOnlineStores(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureOnlineStores", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureOnlineStores(ctx, req.(*ListFeatureOnlineStoresRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeatureOnlineStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).UpdateFeatureOnlineStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureOnlineStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).UpdateFeatureOnlineStore(ctx, req.(*UpdateFeatureOnlineStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureOnlineStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).DeleteFeatureOnlineStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureOnlineStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).DeleteFeatureOnlineStore(ctx, req.(*DeleteFeatureOnlineStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_CreateFeatureView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeatureViewRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).CreateFeatureView(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/CreateFeatureView", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).CreateFeatureView(ctx, req.(*CreateFeatureViewRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_GetFeatureView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureViewRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureView(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureView", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureView(ctx, req.(*GetFeatureViewRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_ListFeatureViews_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeatureViewsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureViews(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViews", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureViews(ctx, req.(*ListFeatureViewsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_UpdateFeatureView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeatureViewRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).UpdateFeatureView(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/UpdateFeatureView", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).UpdateFeatureView(ctx, req.(*UpdateFeatureViewRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_DeleteFeatureView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureViewRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).DeleteFeatureView(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/DeleteFeatureView", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).DeleteFeatureView(ctx, req.(*DeleteFeatureViewRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_SyncFeatureView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SyncFeatureViewRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).SyncFeatureView(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/SyncFeatureView", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).SyncFeatureView(ctx, req.(*SyncFeatureViewRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_GetFeatureViewSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureViewSyncRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureViewSync(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/GetFeatureViewSync", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).GetFeatureViewSync(ctx, req.(*GetFeatureViewSyncRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreAdminService_ListFeatureViewSyncs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeatureViewSyncsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureViewSyncs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService/ListFeatureViewSyncs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreAdminServiceServer).ListFeatureViewSyncs(ctx, req.(*ListFeatureViewSyncsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FeatureOnlineStoreAdminService_ServiceDesc is the grpc.ServiceDesc for FeatureOnlineStoreAdminService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FeatureOnlineStoreAdminService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreAdminService", + HandlerType: (*FeatureOnlineStoreAdminServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateFeatureOnlineStore", + Handler: _FeatureOnlineStoreAdminService_CreateFeatureOnlineStore_Handler, + }, + { + MethodName: "GetFeatureOnlineStore", + Handler: _FeatureOnlineStoreAdminService_GetFeatureOnlineStore_Handler, + }, + { + MethodName: "ListFeatureOnlineStores", + Handler: _FeatureOnlineStoreAdminService_ListFeatureOnlineStores_Handler, + }, + { + MethodName: "UpdateFeatureOnlineStore", + Handler: _FeatureOnlineStoreAdminService_UpdateFeatureOnlineStore_Handler, + }, + { + MethodName: "DeleteFeatureOnlineStore", + Handler: _FeatureOnlineStoreAdminService_DeleteFeatureOnlineStore_Handler, + }, + { + MethodName: "CreateFeatureView", + Handler: _FeatureOnlineStoreAdminService_CreateFeatureView_Handler, + }, + { + MethodName: "GetFeatureView", + Handler: _FeatureOnlineStoreAdminService_GetFeatureView_Handler, + }, + { + MethodName: "ListFeatureViews", + Handler: _FeatureOnlineStoreAdminService_ListFeatureViews_Handler, + }, + { + MethodName: "UpdateFeatureView", + Handler: _FeatureOnlineStoreAdminService_UpdateFeatureView_Handler, + }, + { + MethodName: "DeleteFeatureView", + Handler: _FeatureOnlineStoreAdminService_DeleteFeatureView_Handler, + }, + { + MethodName: "SyncFeatureView", + Handler: _FeatureOnlineStoreAdminService_SyncFeatureView_Handler, + }, + { + MethodName: "GetFeatureViewSync", + Handler: _FeatureOnlineStoreAdminService_GetFeatureViewSync_Handler, + }, + { + MethodName: "ListFeatureViewSyncs", + Handler: _FeatureOnlineStoreAdminService_ListFeatureViewSyncs_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/feature_online_store_admin_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.go new file mode 100644 index 0000000000..d54d22506e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.go @@ -0,0 +1,1616 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Format of the data in the Feature View. +type FeatureViewDataFormat int32 + +const ( + // Not set. Will be treated as the KeyValue format. + FeatureViewDataFormat_FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED FeatureViewDataFormat = 0 + // Return response data in key-value format. + FeatureViewDataFormat_KEY_VALUE FeatureViewDataFormat = 1 + // Return response data in proto Struct format. + FeatureViewDataFormat_PROTO_STRUCT FeatureViewDataFormat = 2 +) + +// Enum value maps for FeatureViewDataFormat. +var ( + FeatureViewDataFormat_name = map[int32]string{ + 0: "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED", + 1: "KEY_VALUE", + 2: "PROTO_STRUCT", + } + FeatureViewDataFormat_value = map[string]int32{ + "FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED": 0, + "KEY_VALUE": 1, + "PROTO_STRUCT": 2, + } +) + +func (x FeatureViewDataFormat) Enum() *FeatureViewDataFormat { + p := new(FeatureViewDataFormat) + *p = x + return p +} + +func (x FeatureViewDataFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeatureViewDataFormat) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes[0].Descriptor() +} + +func (FeatureViewDataFormat) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes[0] +} + +func (x FeatureViewDataFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeatureViewDataFormat.Descriptor instead. +func (FeatureViewDataFormat) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{0} +} + +// Format of the response data. +// +// Deprecated: Do not use. +type FetchFeatureValuesRequest_Format int32 + +const ( + // Not set. Will be treated as the KeyValue format. + FetchFeatureValuesRequest_FORMAT_UNSPECIFIED FetchFeatureValuesRequest_Format = 0 + // Return response data in key-value format. + FetchFeatureValuesRequest_KEY_VALUE FetchFeatureValuesRequest_Format = 1 + // Return response data in proto Struct format. + FetchFeatureValuesRequest_PROTO_STRUCT FetchFeatureValuesRequest_Format = 2 +) + +// Enum value maps for FetchFeatureValuesRequest_Format. +var ( + FetchFeatureValuesRequest_Format_name = map[int32]string{ + 0: "FORMAT_UNSPECIFIED", + 1: "KEY_VALUE", + 2: "PROTO_STRUCT", + } + FetchFeatureValuesRequest_Format_value = map[string]int32{ + "FORMAT_UNSPECIFIED": 0, + "KEY_VALUE": 1, + "PROTO_STRUCT": 2, + } +) + +func (x FetchFeatureValuesRequest_Format) Enum() *FetchFeatureValuesRequest_Format { + p := new(FetchFeatureValuesRequest_Format) + *p = x + return p +} + +func (x FetchFeatureValuesRequest_Format) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FetchFeatureValuesRequest_Format) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes[1].Descriptor() +} + +func (FetchFeatureValuesRequest_Format) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes[1] +} + +func (x FetchFeatureValuesRequest_Format) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FetchFeatureValuesRequest_Format.Descriptor instead. +func (FetchFeatureValuesRequest_Format) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{1, 0} +} + +// Lookup key for a feature view. +type FeatureViewDataKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to KeyOneof: + // + // *FeatureViewDataKey_Key + KeyOneof isFeatureViewDataKey_KeyOneof `protobuf_oneof:"key_oneof"` +} + +func (x *FeatureViewDataKey) Reset() { + *x = FeatureViewDataKey{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureViewDataKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureViewDataKey) ProtoMessage() {} + +func (x *FeatureViewDataKey) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[0] + 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 FeatureViewDataKey.ProtoReflect.Descriptor instead. +func (*FeatureViewDataKey) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{0} +} + +func (m *FeatureViewDataKey) GetKeyOneof() isFeatureViewDataKey_KeyOneof { + if m != nil { + return m.KeyOneof + } + return nil +} + +func (x *FeatureViewDataKey) GetKey() string { + if x, ok := x.GetKeyOneof().(*FeatureViewDataKey_Key); ok { + return x.Key + } + return "" +} + +type isFeatureViewDataKey_KeyOneof interface { + isFeatureViewDataKey_KeyOneof() +} + +type FeatureViewDataKey_Key struct { + // String key to use for lookup. + Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"` +} + +func (*FeatureViewDataKey_Key) isFeatureViewDataKey_KeyOneof() {} + +// Request message for +// [FeatureOnlineStoreService.FetchFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues]. +// All the features under the requested feature view will be returned. +type FetchFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Entity ID to fetch feature values for. + // Deprecated. Use + // [FetchFeatureValuesRequest.data_key][mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_key]. + // + // Types that are assignable to EntityId: + // + // *FetchFeatureValuesRequest_Id + EntityId isFetchFeatureValuesRequest_EntityId `protobuf_oneof:"entity_id"` + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + FeatureView string `protobuf:"bytes,1,opt,name=feature_view,json=featureView,proto3" json:"feature_view,omitempty"` + // Optional. The request key to fetch feature values for. + DataKey *FeatureViewDataKey `protobuf:"bytes,6,opt,name=data_key,json=dataKey,proto3" json:"data_key,omitempty"` + // Optional. Response data format. If not set, + // [FeatureViewDataFormat.KEY_VALUE][mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataFormat.KEY_VALUE] + // will be used. + DataFormat FeatureViewDataFormat `protobuf:"varint,7,opt,name=data_format,json=dataFormat,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataFormat" json:"data_format,omitempty"` + // Specify response data format. If not set, KeyValue format will be used. + // Deprecated. Use + // [FetchFeatureValuesRequest.data_format][mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_format]. + // + // Deprecated: Do not use. + Format FetchFeatureValuesRequest_Format `protobuf:"varint,5,opt,name=format,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest_Format" json:"format,omitempty"` +} + +func (x *FetchFeatureValuesRequest) Reset() { + *x = FetchFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchFeatureValuesRequest) ProtoMessage() {} + +func (x *FetchFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[1] + 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 FetchFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*FetchFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{1} +} + +func (m *FetchFeatureValuesRequest) GetEntityId() isFetchFeatureValuesRequest_EntityId { + if m != nil { + return m.EntityId + } + return nil +} + +// Deprecated: Do not use. +func (x *FetchFeatureValuesRequest) GetId() string { + if x, ok := x.GetEntityId().(*FetchFeatureValuesRequest_Id); ok { + return x.Id + } + return "" +} + +func (x *FetchFeatureValuesRequest) GetFeatureView() string { + if x != nil { + return x.FeatureView + } + return "" +} + +func (x *FetchFeatureValuesRequest) GetDataKey() *FeatureViewDataKey { + if x != nil { + return x.DataKey + } + return nil +} + +func (x *FetchFeatureValuesRequest) GetDataFormat() FeatureViewDataFormat { + if x != nil { + return x.DataFormat + } + return FeatureViewDataFormat_FEATURE_VIEW_DATA_FORMAT_UNSPECIFIED +} + +// Deprecated: Do not use. +func (x *FetchFeatureValuesRequest) GetFormat() FetchFeatureValuesRequest_Format { + if x != nil { + return x.Format + } + return FetchFeatureValuesRequest_FORMAT_UNSPECIFIED +} + +type isFetchFeatureValuesRequest_EntityId interface { + isFetchFeatureValuesRequest_EntityId() +} + +type FetchFeatureValuesRequest_Id struct { + // Simple ID. The whole string will be used as is to identify Entity to + // fetch feature values for. + // + // Deprecated: Do not use. + Id string `protobuf:"bytes,3,opt,name=id,proto3,oneof"` +} + +func (*FetchFeatureValuesRequest_Id) isFetchFeatureValuesRequest_EntityId() {} + +// Response message for +// [FeatureOnlineStoreService.FetchFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues] +type FetchFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Format: + // + // *FetchFeatureValuesResponse_KeyValues + // *FetchFeatureValuesResponse_ProtoStruct + Format isFetchFeatureValuesResponse_Format `protobuf_oneof:"format"` +} + +func (x *FetchFeatureValuesResponse) Reset() { + *x = FetchFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchFeatureValuesResponse) ProtoMessage() {} + +func (x *FetchFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_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 FetchFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*FetchFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{2} +} + +func (m *FetchFeatureValuesResponse) GetFormat() isFetchFeatureValuesResponse_Format { + if m != nil { + return m.Format + } + return nil +} + +func (x *FetchFeatureValuesResponse) GetKeyValues() *FetchFeatureValuesResponse_FeatureNameValuePairList { + if x, ok := x.GetFormat().(*FetchFeatureValuesResponse_KeyValues); ok { + return x.KeyValues + } + return nil +} + +func (x *FetchFeatureValuesResponse) GetProtoStruct() *_struct.Struct { + if x, ok := x.GetFormat().(*FetchFeatureValuesResponse_ProtoStruct); ok { + return x.ProtoStruct + } + return nil +} + +type isFetchFeatureValuesResponse_Format interface { + isFetchFeatureValuesResponse_Format() +} + +type FetchFeatureValuesResponse_KeyValues struct { + // Feature values in KeyValue format. + KeyValues *FetchFeatureValuesResponse_FeatureNameValuePairList `protobuf:"bytes,3,opt,name=key_values,json=keyValues,proto3,oneof"` +} + +type FetchFeatureValuesResponse_ProtoStruct struct { + // Feature values in proto Struct format. + ProtoStruct *_struct.Struct `protobuf:"bytes,2,opt,name=proto_struct,json=protoStruct,proto3,oneof"` +} + +func (*FetchFeatureValuesResponse_KeyValues) isFetchFeatureValuesResponse_Format() {} + +func (*FetchFeatureValuesResponse_ProtoStruct) isFetchFeatureValuesResponse_Format() {} + +// A query to find a number of similar entities. +type NearestNeighborQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Instance: + // + // *NearestNeighborQuery_EntityId + // *NearestNeighborQuery_Embedding_ + Instance isNearestNeighborQuery_Instance `protobuf_oneof:"instance"` + // Optional. The number of similar entities to be retrieved from feature view + // for each query. + NeighborCount int32 `protobuf:"varint,3,opt,name=neighbor_count,json=neighborCount,proto3" json:"neighbor_count,omitempty"` + // Optional. The list of string filters. + StringFilters []*NearestNeighborQuery_StringFilter `protobuf:"bytes,4,rep,name=string_filters,json=stringFilters,proto3" json:"string_filters,omitempty"` + // Optional. Crowding is a constraint on a neighbor list produced by nearest + // neighbor search requiring that no more than + // sper_crowding_attribute_neighbor_count of the k neighbors returned have the + // same value of crowding_attribute. It's used for improving result diversity. + PerCrowdingAttributeNeighborCount int32 `protobuf:"varint,5,opt,name=per_crowding_attribute_neighbor_count,json=perCrowdingAttributeNeighborCount,proto3" json:"per_crowding_attribute_neighbor_count,omitempty"` + // Optional. Parameters that can be set to tune query on the fly. + Parameters *NearestNeighborQuery_Parameters `protobuf:"bytes,7,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *NearestNeighborQuery) Reset() { + *x = NearestNeighborQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborQuery) ProtoMessage() {} + +func (x *NearestNeighborQuery) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[3] + 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 NearestNeighborQuery.ProtoReflect.Descriptor instead. +func (*NearestNeighborQuery) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{3} +} + +func (m *NearestNeighborQuery) GetInstance() isNearestNeighborQuery_Instance { + if m != nil { + return m.Instance + } + return nil +} + +func (x *NearestNeighborQuery) GetEntityId() string { + if x, ok := x.GetInstance().(*NearestNeighborQuery_EntityId); ok { + return x.EntityId + } + return "" +} + +func (x *NearestNeighborQuery) GetEmbedding() *NearestNeighborQuery_Embedding { + if x, ok := x.GetInstance().(*NearestNeighborQuery_Embedding_); ok { + return x.Embedding + } + return nil +} + +func (x *NearestNeighborQuery) GetNeighborCount() int32 { + if x != nil { + return x.NeighborCount + } + return 0 +} + +func (x *NearestNeighborQuery) GetStringFilters() []*NearestNeighborQuery_StringFilter { + if x != nil { + return x.StringFilters + } + return nil +} + +func (x *NearestNeighborQuery) GetPerCrowdingAttributeNeighborCount() int32 { + if x != nil { + return x.PerCrowdingAttributeNeighborCount + } + return 0 +} + +func (x *NearestNeighborQuery) GetParameters() *NearestNeighborQuery_Parameters { + if x != nil { + return x.Parameters + } + return nil +} + +type isNearestNeighborQuery_Instance interface { + isNearestNeighborQuery_Instance() +} + +type NearestNeighborQuery_EntityId struct { + // Optional. The entity id whose similar entities should be searched for. + // If embedding is set, search will use embedding instead of + // entity_id. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3,oneof"` +} + +type NearestNeighborQuery_Embedding_ struct { + // Optional. The embedding vector that be used for similar search. + Embedding *NearestNeighborQuery_Embedding `protobuf:"bytes,2,opt,name=embedding,proto3,oneof"` +} + +func (*NearestNeighborQuery_EntityId) isNearestNeighborQuery_Instance() {} + +func (*NearestNeighborQuery_Embedding_) isNearestNeighborQuery_Instance() {} + +// The request message for +// [FeatureOnlineStoreService.SearchNearestEntities][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities]. +type SearchNearestEntitiesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. FeatureView resource format + // `projects/{project}/locations/{location}/featureOnlineStores/{featureOnlineStore}/featureViews/{featureView}` + FeatureView string `protobuf:"bytes,1,opt,name=feature_view,json=featureView,proto3" json:"feature_view,omitempty"` + // Required. The query. + Query *NearestNeighborQuery `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + // Optional. If set to true, the full entities (including all vector values + // and metadata) of the nearest neighbors are returned; otherwise only entity + // id of the nearest neighbors will be returned. Note that returning full + // entities will significantly increase the latency and cost of the query. + ReturnFullEntity bool `protobuf:"varint,3,opt,name=return_full_entity,json=returnFullEntity,proto3" json:"return_full_entity,omitempty"` +} + +func (x *SearchNearestEntitiesRequest) Reset() { + *x = SearchNearestEntitiesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchNearestEntitiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchNearestEntitiesRequest) ProtoMessage() {} + +func (x *SearchNearestEntitiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[4] + 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 SearchNearestEntitiesRequest.ProtoReflect.Descriptor instead. +func (*SearchNearestEntitiesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{4} +} + +func (x *SearchNearestEntitiesRequest) GetFeatureView() string { + if x != nil { + return x.FeatureView + } + return "" +} + +func (x *SearchNearestEntitiesRequest) GetQuery() *NearestNeighborQuery { + if x != nil { + return x.Query + } + return nil +} + +func (x *SearchNearestEntitiesRequest) GetReturnFullEntity() bool { + if x != nil { + return x.ReturnFullEntity + } + return false +} + +// Nearest neighbors for one query. +type NearestNeighbors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All its neighbors. + Neighbors []*NearestNeighbors_Neighbor `protobuf:"bytes,1,rep,name=neighbors,proto3" json:"neighbors,omitempty"` +} + +func (x *NearestNeighbors) Reset() { + *x = NearestNeighbors{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighbors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighbors) ProtoMessage() {} + +func (x *NearestNeighbors) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[5] + 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 NearestNeighbors.ProtoReflect.Descriptor instead. +func (*NearestNeighbors) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{5} +} + +func (x *NearestNeighbors) GetNeighbors() []*NearestNeighbors_Neighbor { + if x != nil { + return x.Neighbors + } + return nil +} + +// Response message for +// [FeatureOnlineStoreService.SearchNearestEntities][mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] +type SearchNearestEntitiesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The nearest neighbors of the query entity. + NearestNeighbors *NearestNeighbors `protobuf:"bytes,1,opt,name=nearest_neighbors,json=nearestNeighbors,proto3" json:"nearest_neighbors,omitempty"` +} + +func (x *SearchNearestEntitiesResponse) Reset() { + *x = SearchNearestEntitiesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchNearestEntitiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchNearestEntitiesResponse) ProtoMessage() {} + +func (x *SearchNearestEntitiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_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 SearchNearestEntitiesResponse.ProtoReflect.Descriptor instead. +func (*SearchNearestEntitiesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{6} +} + +func (x *SearchNearestEntitiesResponse) GetNearestNeighbors() *NearestNeighbors { + if x != nil { + return x.NearestNeighbors + } + return nil +} + +// Response structure in the format of key (feature name) and (feature) value +// pair. +type FetchFeatureValuesResponse_FeatureNameValuePairList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of feature names and values. + Features []*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList) Reset() { + *x = FetchFeatureValuesResponse_FeatureNameValuePairList{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchFeatureValuesResponse_FeatureNameValuePairList) ProtoMessage() {} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[7] + 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 FetchFeatureValuesResponse_FeatureNameValuePairList.ProtoReflect.Descriptor instead. +func (*FetchFeatureValuesResponse_FeatureNameValuePairList) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList) GetFeatures() []*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair { + if x != nil { + return x.Features + } + return nil +} + +// Feature name & value pair. +type FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Data: + // + // *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value + Data isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data `protobuf_oneof:"data"` + // Feature short name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) Reset() { + *x = FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) ProtoMessage() {} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_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 FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair.ProtoReflect.Descriptor instead. +func (*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{2, 0, 0} +} + +func (m *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) GetData() isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) GetValue() *FeatureValue { + if x, ok := x.GetData().(*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value); ok { + return x.Value + } + return nil +} + +func (x *FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data interface { + isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data() +} + +type FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value struct { + // Feature value. + Value *FeatureValue `protobuf:"bytes,2,opt,name=value,proto3,oneof"` +} + +func (*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value) isFetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Data() { +} + +// The embedding vector. +type NearestNeighborQuery_Embedding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Individual value in the embedding. + Value []float32 `protobuf:"fixed32,1,rep,packed,name=value,proto3" json:"value,omitempty"` +} + +func (x *NearestNeighborQuery_Embedding) Reset() { + *x = NearestNeighborQuery_Embedding{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborQuery_Embedding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborQuery_Embedding) ProtoMessage() {} + +func (x *NearestNeighborQuery_Embedding) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[9] + 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 NearestNeighborQuery_Embedding.ProtoReflect.Descriptor instead. +func (*NearestNeighborQuery_Embedding) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *NearestNeighborQuery_Embedding) GetValue() []float32 { + if x != nil { + return x.Value + } + return nil +} + +// String filter is used to search a subset of the entities by using boolean +// rules on string columns. +// For example: if a query specifies string filter +// with 'name = color, allow_tokens = {red, blue}, deny_tokens = {purple}',' +// then that query will match entities that are red or blue, but if those +// points are also purple, then they will be excluded even if they are +// red/blue. Only string filter is supported for now, numeric filter will be +// supported in the near future. +type NearestNeighborQuery_StringFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Column names in BigQuery that used as filters. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The allowed tokens. + AllowTokens []string `protobuf:"bytes,2,rep,name=allow_tokens,json=allowTokens,proto3" json:"allow_tokens,omitempty"` + // Optional. The denied tokens. + DenyTokens []string `protobuf:"bytes,3,rep,name=deny_tokens,json=denyTokens,proto3" json:"deny_tokens,omitempty"` +} + +func (x *NearestNeighborQuery_StringFilter) Reset() { + *x = NearestNeighborQuery_StringFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborQuery_StringFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborQuery_StringFilter) ProtoMessage() {} + +func (x *NearestNeighborQuery_StringFilter) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[10] + 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 NearestNeighborQuery_StringFilter.ProtoReflect.Descriptor instead. +func (*NearestNeighborQuery_StringFilter) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *NearestNeighborQuery_StringFilter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NearestNeighborQuery_StringFilter) GetAllowTokens() []string { + if x != nil { + return x.AllowTokens + } + return nil +} + +func (x *NearestNeighborQuery_StringFilter) GetDenyTokens() []string { + if x != nil { + return x.DenyTokens + } + return nil +} + +// Parameters that can be overrided in each query to tune query latency and +// recall. +type NearestNeighborQuery_Parameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The number of neighbors to find via approximate search before + // exact reordering is performed; if set, this value must be > + // neighbor_count. + ApproximateNeighborCandidates int32 `protobuf:"varint,1,opt,name=approximate_neighbor_candidates,json=approximateNeighborCandidates,proto3" json:"approximate_neighbor_candidates,omitempty"` + // Optional. The fraction of the number of leaves to search, set at query + // time allows user to tune search performance. This value increase result + // in both search accuracy and latency increase. The value should be between + // 0.0 and 1.0. + LeafNodesSearchFraction float64 `protobuf:"fixed64,2,opt,name=leaf_nodes_search_fraction,json=leafNodesSearchFraction,proto3" json:"leaf_nodes_search_fraction,omitempty"` +} + +func (x *NearestNeighborQuery_Parameters) Reset() { + *x = NearestNeighborQuery_Parameters{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborQuery_Parameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborQuery_Parameters) ProtoMessage() {} + +func (x *NearestNeighborQuery_Parameters) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[11] + 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 NearestNeighborQuery_Parameters.ProtoReflect.Descriptor instead. +func (*NearestNeighborQuery_Parameters) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *NearestNeighborQuery_Parameters) GetApproximateNeighborCandidates() int32 { + if x != nil { + return x.ApproximateNeighborCandidates + } + return 0 +} + +func (x *NearestNeighborQuery_Parameters) GetLeafNodesSearchFraction() float64 { + if x != nil { + return x.LeafNodesSearchFraction + } + return 0 +} + +// A neighbor of the query vector. +type NearestNeighbors_Neighbor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The id of the similar entity. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // The distance between the neighbor and the query vector. + Distance float64 `protobuf:"fixed64,2,opt,name=distance,proto3" json:"distance,omitempty"` + // The attributes of the neighbor, e.g. filters, crowding and metadata + // Note that full entities are returned only when "return_full_entity" + // is set to true. Otherwise, only the "entity_id" and "distance" fields + // are populated. + EntityKeyValues *FetchFeatureValuesResponse `protobuf:"bytes,3,opt,name=entity_key_values,json=entityKeyValues,proto3" json:"entity_key_values,omitempty"` +} + +func (x *NearestNeighbors_Neighbor) Reset() { + *x = NearestNeighbors_Neighbor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighbors_Neighbor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighbors_Neighbor) ProtoMessage() {} + +func (x *NearestNeighbors_Neighbor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[12] + 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 NearestNeighbors_Neighbor.ProtoReflect.Descriptor instead. +func (*NearestNeighbors_Neighbor) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *NearestNeighbors_Neighbor) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *NearestNeighbors_Neighbor) GetDistance() float64 { + if x != nil { + return x.Distance + } + return 0 +} + +func (x *NearestNeighbors_Neighbor) GetEntityKeyValues() *FetchFeatureValuesResponse { + if x != nil { + return x.EntityKeyValues + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDesc = []byte{ + 0x0a, 0x43, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x42, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x12, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x4b, + 0x65, 0x79, 0x12, 0x12, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x22, 0xec, 0x03, 0x0a, 0x19, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, + 0x01, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x0b, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x54, 0x0a, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x4b, 0x65, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x4b, 0x65, 0x79, 0x12, + 0x5d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x5e, + 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x45, + 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, + 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, + 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x10, + 0x02, 0x1a, 0x02, 0x18, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x22, 0xfe, 0x03, 0x0a, 0x1a, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x76, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, + 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x1a, 0x9f, 0x02, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, + 0x61, 0x69, 0x72, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x7a, 0x0a, + 0x14, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x22, 0xc6, 0x06, 0x0a, 0x14, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x09, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x12, 0x65, 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6d, + 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0e, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x25, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x6f, 0x77, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x70, 0x65, 0x72, 0x43, 0x72, 0x6f, + 0x77, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x1a, 0x26, 0x0a, 0x09, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x75, 0x0a, 0x0c, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 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, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0b, + 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6e, 0x79, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x1a, 0x9b, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x4b, 0x0a, 0x1f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, + 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x1d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x40, + 0x0a, 0x1a, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xf6, 0x01, 0x0a, + 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, + 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, + 0x51, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x66, 0x75, 0x6c, + 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x9d, 0x02, 0x0a, 0x10, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, + 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x09, 0x6e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x73, 0x2e, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x09, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x73, 0x1a, 0xad, 0x01, 0x0a, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x11, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x11, 0x6e, 0x65, 0x61, 0x72, 0x65, + 0x73, 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2a, 0x62, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x28, 0x0a, 0x24, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x49, 0x45, + 0x57, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4b, + 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x10, 0x02, 0x32, 0x9a, 0x05, 0x0a, + 0x19, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9c, 0x02, 0x0a, 0x12, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x22, 0x66, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x65, 0x74, 0x63, 0x68, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, 0x01, 0x2a, + 0xda, 0x41, 0x16, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2c, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x8e, 0x02, 0x0a, 0x15, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x65, 0x61, + 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x65, 0x61, + 0x72, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x22, 0x69, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x76, 0x69, 0x65, 0x77, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xf6, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x1e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_goTypes = []interface{}{ + (FeatureViewDataFormat)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataFormat + (FetchFeatureValuesRequest_Format)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.Format + (*FeatureViewDataKey)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataKey + (*FetchFeatureValuesRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest + (*FetchFeatureValuesResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse + (*NearestNeighborQuery)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery + (*SearchNearestEntitiesRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest + (*NearestNeighbors)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors + (*SearchNearestEntitiesResponse)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesResponse + (*FetchFeatureValuesResponse_FeatureNameValuePairList)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList + (*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList.FeatureNameValuePair + (*NearestNeighborQuery_Embedding)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.Embedding + (*NearestNeighborQuery_StringFilter)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.StringFilter + (*NearestNeighborQuery_Parameters)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.Parameters + (*NearestNeighbors_Neighbor)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors.Neighbor + (*_struct.Struct)(nil), // 15: google.protobuf.Struct + (*FeatureValue)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.FeatureValue +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_key:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataKey + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.data_format:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureViewDataFormat + 1, // 2: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format:type_name -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.Format + 9, // 3: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.key_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList + 15, // 4: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.proto_struct:type_name -> google.protobuf.Struct + 11, // 5: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.embedding:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.Embedding + 12, // 6: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.string_filters:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.StringFilter + 13, // 7: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery.Parameters + 5, // 8: mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest.query:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborQuery + 14, // 9: mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors.neighbors:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors.Neighbor + 7, // 10: mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesResponse.nearest_neighbors:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors + 10, // 11: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList.features:type_name -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList.FeatureNameValuePair + 16, // 12: mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse.FeatureNameValuePairList.FeatureNameValuePair.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValue + 4, // 13: mockgcp.cloud.aiplatform.v1beta1.NearestNeighbors.Neighbor.entity_key_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse + 3, // 14: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest + 6, // 15: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities:input_type -> mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest + 4, // 16: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.FetchFeatureValues:output_type -> mockgcp.cloud.aiplatform.v1beta1.FetchFeatureValuesResponse + 8, // 17: mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities:output_type -> mockgcp.cloud.aiplatform.v1beta1.SearchNearestEntitiesResponse + 16, // [16:18] is the sub-list for method output_type + 14, // [14:16] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureViewDataKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchNearestEntitiesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighbors); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchNearestEntitiesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchFeatureValuesResponse_FeatureNameValuePairList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborQuery_Embedding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborQuery_StringFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborQuery_Parameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighbors_Neighbor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*FeatureViewDataKey_Key)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*FetchFeatureValuesRequest_Id)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*FetchFeatureValuesResponse_KeyValues)(nil), + (*FetchFeatureValuesResponse_ProtoStruct)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*NearestNeighborQuery_EntityId)(nil), + (*NearestNeighborQuery_Embedding_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*FetchFeatureValuesResponse_FeatureNameValuePairList_FeatureNameValuePair_Value)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDesc, + NumEnums: 2, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_online_store_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.gw.go new file mode 100644 index 0000000000..0e0b0254b3 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.pb.gw.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_FeatureOnlineStoreService_FetchFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FetchFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := client.FetchFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreService_FetchFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FetchFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := server.FetchFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureOnlineStoreService_SearchNearestEntities_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureOnlineStoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchNearestEntitiesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := client.SearchNearestEntities(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureOnlineStoreService_SearchNearestEntities_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureOnlineStoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchNearestEntitiesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_view"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_view") + } + + protoReq.FeatureView, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_view", err) + } + + msg, err := server.SearchNearestEntities(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterFeatureOnlineStoreServiceHandlerServer registers the http handlers for service FeatureOnlineStoreService to "mux". +// UnaryRPC :call FeatureOnlineStoreServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterFeatureOnlineStoreServiceHandlerFromEndpoint instead. +func RegisterFeatureOnlineStoreServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server FeatureOnlineStoreServiceServer) error { + + mux.Handle("POST", pattern_FeatureOnlineStoreService_FetchFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/FetchFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:fetchFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreService_FetchFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreService_FetchFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreService_SearchNearestEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/SearchNearestEntities", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:searchNearestEntities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureOnlineStoreService_SearchNearestEntities_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreService_SearchNearestEntities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterFeatureOnlineStoreServiceHandlerFromEndpoint is same as RegisterFeatureOnlineStoreServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterFeatureOnlineStoreServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterFeatureOnlineStoreServiceHandler(ctx, mux, conn) +} + +// RegisterFeatureOnlineStoreServiceHandler registers the http handlers for service FeatureOnlineStoreService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterFeatureOnlineStoreServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterFeatureOnlineStoreServiceHandlerClient(ctx, mux, NewFeatureOnlineStoreServiceClient(conn)) +} + +// RegisterFeatureOnlineStoreServiceHandlerClient registers the http handlers for service FeatureOnlineStoreService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "FeatureOnlineStoreServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "FeatureOnlineStoreServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "FeatureOnlineStoreServiceClient" to call the correct interceptors. +func RegisterFeatureOnlineStoreServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client FeatureOnlineStoreServiceClient) error { + + mux.Handle("POST", pattern_FeatureOnlineStoreService_FetchFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/FetchFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:fetchFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreService_FetchFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreService_FetchFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureOnlineStoreService_SearchNearestEntities_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/SearchNearestEntities", runtime.WithHTTPPathPattern("/v1beta1/{feature_view=projects/*/locations/*/featureOnlineStores/*/featureViews/*}:searchNearestEntities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureOnlineStoreService_SearchNearestEntities_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureOnlineStoreService_SearchNearestEntities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_FeatureOnlineStoreService_FetchFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "feature_view"}, "fetchFeatureValues")) + + pattern_FeatureOnlineStoreService_SearchNearestEntities_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureOnlineStores", "featureViews", "feature_view"}, "searchNearestEntities")) +) + +var ( + forward_FeatureOnlineStoreService_FetchFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeatureOnlineStoreService_SearchNearestEntities_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service_grpc.pb.go new file mode 100644 index 0000000000..bcdbd310f0 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service_grpc.pb.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.proto + +package aiplatformpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FeatureOnlineStoreServiceClient is the client API for FeatureOnlineStoreService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FeatureOnlineStoreServiceClient interface { + // Fetch feature values under a FeatureView. + FetchFeatureValues(ctx context.Context, in *FetchFeatureValuesRequest, opts ...grpc.CallOption) (*FetchFeatureValuesResponse, error) + // Search the nearest entities under a FeatureView. + // Search only works for indexable feature view; if a feature view isn't + // indexable, returns Invalid argument response. + SearchNearestEntities(ctx context.Context, in *SearchNearestEntitiesRequest, opts ...grpc.CallOption) (*SearchNearestEntitiesResponse, error) +} + +type featureOnlineStoreServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFeatureOnlineStoreServiceClient(cc grpc.ClientConnInterface) FeatureOnlineStoreServiceClient { + return &featureOnlineStoreServiceClient{cc} +} + +func (c *featureOnlineStoreServiceClient) FetchFeatureValues(ctx context.Context, in *FetchFeatureValuesRequest, opts ...grpc.CallOption) (*FetchFeatureValuesResponse, error) { + out := new(FetchFeatureValuesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/FetchFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureOnlineStoreServiceClient) SearchNearestEntities(ctx context.Context, in *SearchNearestEntitiesRequest, opts ...grpc.CallOption) (*SearchNearestEntitiesResponse, error) { + out := new(SearchNearestEntitiesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/SearchNearestEntities", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FeatureOnlineStoreServiceServer is the server API for FeatureOnlineStoreService service. +// All implementations must embed UnimplementedFeatureOnlineStoreServiceServer +// for forward compatibility +type FeatureOnlineStoreServiceServer interface { + // Fetch feature values under a FeatureView. + FetchFeatureValues(context.Context, *FetchFeatureValuesRequest) (*FetchFeatureValuesResponse, error) + // Search the nearest entities under a FeatureView. + // Search only works for indexable feature view; if a feature view isn't + // indexable, returns Invalid argument response. + SearchNearestEntities(context.Context, *SearchNearestEntitiesRequest) (*SearchNearestEntitiesResponse, error) + mustEmbedUnimplementedFeatureOnlineStoreServiceServer() +} + +// UnimplementedFeatureOnlineStoreServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFeatureOnlineStoreServiceServer struct { +} + +func (UnimplementedFeatureOnlineStoreServiceServer) FetchFeatureValues(context.Context, *FetchFeatureValuesRequest) (*FetchFeatureValuesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FetchFeatureValues not implemented") +} +func (UnimplementedFeatureOnlineStoreServiceServer) SearchNearestEntities(context.Context, *SearchNearestEntitiesRequest) (*SearchNearestEntitiesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchNearestEntities not implemented") +} +func (UnimplementedFeatureOnlineStoreServiceServer) mustEmbedUnimplementedFeatureOnlineStoreServiceServer() { +} + +// UnsafeFeatureOnlineStoreServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FeatureOnlineStoreServiceServer will +// result in compilation errors. +type UnsafeFeatureOnlineStoreServiceServer interface { + mustEmbedUnimplementedFeatureOnlineStoreServiceServer() +} + +func RegisterFeatureOnlineStoreServiceServer(s grpc.ServiceRegistrar, srv FeatureOnlineStoreServiceServer) { + s.RegisterService(&FeatureOnlineStoreService_ServiceDesc, srv) +} + +func _FeatureOnlineStoreService_FetchFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FetchFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreServiceServer).FetchFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/FetchFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreServiceServer).FetchFeatureValues(ctx, req.(*FetchFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureOnlineStoreService_SearchNearestEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchNearestEntitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureOnlineStoreServiceServer).SearchNearestEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService/SearchNearestEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureOnlineStoreServiceServer).SearchNearestEntities(ctx, req.(*SearchNearestEntitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FeatureOnlineStoreService_ServiceDesc is the grpc.ServiceDesc for FeatureOnlineStoreService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FeatureOnlineStoreService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.FeatureOnlineStoreService", + HandlerType: (*FeatureOnlineStoreServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "FetchFeatureValues", + Handler: _FeatureOnlineStoreService_FetchFeatureValues_Handler, + }, + { + MethodName: "SearchNearestEntities", + Handler: _FeatureOnlineStoreService_SearchNearestEntities_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/feature_online_store_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.go new file mode 100644 index 0000000000..8caefc0eef --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.go @@ -0,0 +1,1212 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [FeatureRegistryService.CreateFeatureGroup][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup]. +type CreateFeatureGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create FeatureGroups. + // Format: + // `projects/{project}/locations/{location}'` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The FeatureGroup to create. + FeatureGroup *FeatureGroup `protobuf:"bytes,2,opt,name=feature_group,json=featureGroup,proto3" json:"feature_group,omitempty"` + // Required. The ID to use for this FeatureGroup, which will become the final + // component of the FeatureGroup's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + FeatureGroupId string `protobuf:"bytes,3,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"` +} + +func (x *CreateFeatureGroupRequest) Reset() { + *x = CreateFeatureGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureGroupRequest) ProtoMessage() {} + +func (x *CreateFeatureGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[0] + 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 CreateFeatureGroupRequest.ProtoReflect.Descriptor instead. +func (*CreateFeatureGroupRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateFeatureGroupRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateFeatureGroupRequest) GetFeatureGroup() *FeatureGroup { + if x != nil { + return x.FeatureGroup + } + return nil +} + +func (x *CreateFeatureGroupRequest) GetFeatureGroupId() string { + if x != nil { + return x.FeatureGroupId + } + return "" +} + +// Request message for +// [FeatureRegistryService.GetFeatureGroup][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup]. +type GetFeatureGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureGroup resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeatureGroupRequest) Reset() { + *x = GetFeatureGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeatureGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeatureGroupRequest) ProtoMessage() {} + +func (x *GetFeatureGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[1] + 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 GetFeatureGroupRequest.ProtoReflect.Descriptor instead. +func (*GetFeatureGroupRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetFeatureGroupRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeatureRegistryService.ListFeatureGroups][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. +type ListFeatureGroupsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list FeatureGroups. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the FeatureGroups that match the filter expression. The + // following fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // FeatureGroups created or updated after 2020-01-01. + // - `labels.env = "prod"` + // FeatureGroups with label "env" set to "prod". + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of FeatureGroups to return. The service may return + // fewer than this value. If unspecified, at most 100 FeatureGroups will + // be returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeatureGroupAdminService.ListFeatureGroups][] call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeatureGroupAdminService.ListFeatureGroups][] must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListFeatureGroupsRequest) Reset() { + *x = ListFeatureGroupsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureGroupsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureGroupsRequest) ProtoMessage() {} + +func (x *ListFeatureGroupsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_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 ListFeatureGroupsRequest.ProtoReflect.Descriptor instead. +func (*ListFeatureGroupsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListFeatureGroupsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeatureGroupsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeatureGroupsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeatureGroupsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeatureGroupsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [FeatureRegistryService.ListFeatureGroups][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups]. +type ListFeatureGroupsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The FeatureGroups matching the request. + FeatureGroups []*FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"` + // A token, which can be sent as + // [ListFeatureGroupsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeatureGroupsResponse) Reset() { + *x = ListFeatureGroupsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeatureGroupsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeatureGroupsResponse) ProtoMessage() {} + +func (x *ListFeatureGroupsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[3] + 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 ListFeatureGroupsResponse.ProtoReflect.Descriptor instead. +func (*ListFeatureGroupsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListFeatureGroupsResponse) GetFeatureGroups() []*FeatureGroup { + if x != nil { + return x.FeatureGroups + } + return nil +} + +func (x *ListFeatureGroupsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeatureRegistryService.UpdateFeatureGroup][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup]. +type UpdateFeatureGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The FeatureGroup's `name` field is used to identify the + // FeatureGroup to be updated. Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + FeatureGroup *FeatureGroup `protobuf:"bytes,1,opt,name=feature_group,json=featureGroup,proto3" json:"feature_group,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // FeatureGroup resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `labels` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateFeatureGroupRequest) Reset() { + *x = UpdateFeatureGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureGroupRequest) ProtoMessage() {} + +func (x *UpdateFeatureGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[4] + 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 UpdateFeatureGroupRequest.ProtoReflect.Descriptor instead. +func (*UpdateFeatureGroupRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateFeatureGroupRequest) GetFeatureGroup() *FeatureGroup { + if x != nil { + return x.FeatureGroup + } + return nil +} + +func (x *UpdateFeatureGroupRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [FeatureRegistryService.DeleteFeatureGroup][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup]. +type DeleteFeatureGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the FeatureGroup to be deleted. + // Format: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set to true, any Features under this FeatureGroup + // will also be deleted. (Otherwise, the request will only work if the + // FeatureGroup has no Features.) + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteFeatureGroupRequest) Reset() { + *x = DeleteFeatureGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureGroupRequest) ProtoMessage() {} + +func (x *DeleteFeatureGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[5] + 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 DeleteFeatureGroupRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeatureGroupRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteFeatureGroupRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteFeatureGroupRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Details of operations that perform create FeatureGroup. +type CreateFeatureGroupOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureGroup. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateFeatureGroupOperationMetadata) Reset() { + *x = CreateFeatureGroupOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureGroupOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureGroupOperationMetadata) ProtoMessage() {} + +func (x *CreateFeatureGroupOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_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 CreateFeatureGroupOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateFeatureGroupOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateFeatureGroupOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update FeatureGroup. +type UpdateFeatureGroupOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for FeatureGroup. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateFeatureGroupOperationMetadata) Reset() { + *x = UpdateFeatureGroupOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureGroupOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureGroupOperationMetadata) ProtoMessage() {} + +func (x *UpdateFeatureGroupOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[7] + 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 UpdateFeatureGroupOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateFeatureGroupOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateFeatureGroupOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform create FeatureGroup. +type CreateRegistryFeatureOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Feature. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateRegistryFeatureOperationMetadata) Reset() { + *x = CreateRegistryFeatureOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRegistryFeatureOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRegistryFeatureOperationMetadata) ProtoMessage() {} + +func (x *CreateRegistryFeatureOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_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 CreateRegistryFeatureOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateRegistryFeatureOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{8} +} + +func (x *CreateRegistryFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update Feature. +type UpdateFeatureOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Feature Update. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateFeatureOperationMetadata) Reset() { + *x = UpdateFeatureOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureOperationMetadata) ProtoMessage() {} + +func (x *UpdateFeatureOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[9] + 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 UpdateFeatureOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateFeatureOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP(), []int{9} +} + +func (x *UpdateFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, + 0xec, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x2d, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x5c, + 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd1, 0x01, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, + 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 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, 0xb2, 0x01, + 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0d, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0x75, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x23, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x32, 0xcd, 0x13, 0x0a, 0x16, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9e, + 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0xab, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x3a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0xda, 0x41, 0x25, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0xc2, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x45, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd5, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa0, 0x02, 0x0a, + 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, + 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x32, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0d, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0xda, 0x41, 0x19, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0xf0, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 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, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0xca, + 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x83, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x9a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x29, 0x0a, + 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xbe, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, + 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x85, 0x02, + 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 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, 0x9c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x32, + 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0xda, 0x41, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x29, 0x0a, 0x07, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xec, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x83, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x2a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 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, 0xf3, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1b, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, + 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes = []interface{}{ + (*CreateFeatureGroupRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest + (*GetFeatureGroupRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetFeatureGroupRequest + (*ListFeatureGroupsRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest + (*ListFeatureGroupsResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse + (*UpdateFeatureGroupRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest + (*DeleteFeatureGroupRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureGroupRequest + (*CreateFeatureGroupOperationMetadata)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureGroupOperationMetadata + (*UpdateFeatureGroupOperationMetadata)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupOperationMetadata + (*CreateRegistryFeatureOperationMetadata)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.CreateRegistryFeatureOperationMetadata + (*UpdateFeatureOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata + (*FeatureGroup)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + (*field_mask.FieldMask)(nil), // 11: google.protobuf.FieldMask + (*GenericOperationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*CreateFeatureRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest + (*GetFeatureRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.GetFeatureRequest + (*ListFeaturesRequest)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest + (*UpdateFeatureRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest + (*DeleteFeatureRequest)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureRequest + (*longrunningpb.Operation)(nil), // 18: google.longrunning.Operation + (*Feature)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.Feature + (*ListFeaturesResponse)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesResponse +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs = []int32{ + 10, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest.feature_group:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + 10, // 1: mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse.feature_groups:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + 10, // 2: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest.feature_group:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + 11, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest.update_mask:type_name -> google.protobuf.FieldMask + 12, // 4: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureGroupOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 12, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 12, // 6: mockgcp.cloud.aiplatform.v1beta1.CreateRegistryFeatureOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 12, // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 8: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureGroupRequest + 1, // 9: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureGroupRequest + 2, // 10: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsRequest + 4, // 11: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureGroupRequest + 5, // 12: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureGroupRequest + 13, // 13: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest + 14, // 14: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureRequest + 15, // 15: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest + 16, // 16: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest + 17, // 17: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureRequest + 18, // 18: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeatureGroup:output_type -> google.longrunning.Operation + 10, // 19: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeatureGroup:output_type -> mockgcp.cloud.aiplatform.v1beta1.FeatureGroup + 3, // 20: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatureGroups:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeatureGroupsResponse + 18, // 21: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeatureGroup:output_type -> google.longrunning.Operation + 18, // 22: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeatureGroup:output_type -> google.longrunning.Operation + 18, // 23: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature:output_type -> google.longrunning.Operation + 19, // 24: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature:output_type -> mockgcp.cloud.aiplatform.v1beta1.Feature + 20, // 25: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturesResponse + 18, // 26: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature:output_type -> google.longrunning.Operation + 18, // 27: mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature:output_type -> google.longrunning.Operation + 18, // [18:28] is the sub-list for method output_type + 8, // [8:18] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_group_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeatureGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureGroupsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeatureGroupsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureGroupOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureGroupOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRegistryFeatureOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureOperationMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_registry_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.gw.go new file mode 100644 index 0000000000..713591b32e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.pb.gw.go @@ -0,0 +1,1334 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_FeatureRegistryService_CreateFeatureGroup_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_group": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeatureRegistryService_CreateFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureGroupRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureGroup); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_CreateFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeatureGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_CreateFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureGroupRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureGroup); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_CreateFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeatureGroup(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureRegistryService_GetFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureGroupRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeatureGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_GetFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureGroupRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeatureGroup(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_ListFeatureGroups_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureRegistryService_ListFeatureGroups_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureGroupsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_ListFeatureGroups_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatureGroups(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_ListFeatureGroups_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeatureGroupsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_ListFeatureGroups_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatureGroups(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_UpdateFeatureGroup_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature_group": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeatureRegistryService_UpdateFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureGroupRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureGroup); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureGroup); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_group.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_group.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_group.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_group.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_UpdateFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeatureGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_UpdateFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureGroupRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.FeatureGroup); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.FeatureGroup); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature_group.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature_group.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature_group.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature_group.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_UpdateFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeatureGroup(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_DeleteFeatureGroup_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureRegistryService_DeleteFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureGroupRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_DeleteFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteFeatureGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_DeleteFeatureGroup_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureGroupRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_DeleteFeatureGroup_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteFeatureGroup(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_CreateFeature_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeatureRegistryService_CreateFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_CreateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_CreateFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_CreateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeature(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureRegistryService_GetFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_GetFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeature(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_ListFeatures_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeatureRegistryService_ListFeatures_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_ListFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatures(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_ListFeatures_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_ListFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatures(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeatureRegistryService_UpdateFeature_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeatureRegistryService_UpdateFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Feature); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_UpdateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_UpdateFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Feature); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeatureRegistryService_UpdateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeature(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeatureRegistryService_DeleteFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeatureRegistryServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeatureRegistryService_DeleteFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeatureRegistryServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteFeature(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterFeatureRegistryServiceHandlerServer registers the http handlers for service FeatureRegistryService to "mux". +// UnaryRPC :call FeatureRegistryServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterFeatureRegistryServiceHandlerFromEndpoint instead. +func RegisterFeatureRegistryServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server FeatureRegistryServiceServer) error { + + mux.Handle("POST", pattern_FeatureRegistryService_CreateFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureGroups")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_CreateFeatureGroup_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_CreateFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_GetFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_GetFeatureGroup_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_GetFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_ListFeatureGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatureGroups", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureGroups")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_ListFeatureGroups_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_ListFeatureGroups_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureRegistryService_UpdateFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{feature_group.name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_UpdateFeatureGroup_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_UpdateFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureRegistryService_DeleteFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_DeleteFeatureGroup_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_DeleteFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureRegistryService_CreateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeature", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_CreateFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_CreateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_GetFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_GetFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_GetFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_ListFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_ListFeatures_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_ListFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureRegistryService_UpdateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeature", runtime.WithHTTPPathPattern("/v1beta1/{feature.name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_UpdateFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_UpdateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureRegistryService_DeleteFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeatureRegistryService_DeleteFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_DeleteFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterFeatureRegistryServiceHandlerFromEndpoint is same as RegisterFeatureRegistryServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterFeatureRegistryServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterFeatureRegistryServiceHandler(ctx, mux, conn) +} + +// RegisterFeatureRegistryServiceHandler registers the http handlers for service FeatureRegistryService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterFeatureRegistryServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterFeatureRegistryServiceHandlerClient(ctx, mux, NewFeatureRegistryServiceClient(conn)) +} + +// RegisterFeatureRegistryServiceHandlerClient registers the http handlers for service FeatureRegistryService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "FeatureRegistryServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "FeatureRegistryServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "FeatureRegistryServiceClient" to call the correct interceptors. +func RegisterFeatureRegistryServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client FeatureRegistryServiceClient) error { + + mux.Handle("POST", pattern_FeatureRegistryService_CreateFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureGroups")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_CreateFeatureGroup_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_CreateFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_GetFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_GetFeatureGroup_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_GetFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_ListFeatureGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatureGroups", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featureGroups")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_ListFeatureGroups_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_ListFeatureGroups_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureRegistryService_UpdateFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{feature_group.name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_UpdateFeatureGroup_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_UpdateFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureRegistryService_DeleteFeatureGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeatureGroup", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_DeleteFeatureGroup_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_DeleteFeatureGroup_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeatureRegistryService_CreateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeature", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_CreateFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_CreateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_GetFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_GetFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_GetFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeatureRegistryService_ListFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featureGroups/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_ListFeatures_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_ListFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeatureRegistryService_UpdateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeature", runtime.WithHTTPPathPattern("/v1beta1/{feature.name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_UpdateFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_UpdateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeatureRegistryService_DeleteFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featureGroups/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeatureRegistryService_DeleteFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeatureRegistryService_DeleteFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_FeatureRegistryService_CreateFeatureGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featureGroups"}, "")) + + pattern_FeatureRegistryService_GetFeatureGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureGroups", "name"}, "")) + + pattern_FeatureRegistryService_ListFeatureGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featureGroups"}, "")) + + pattern_FeatureRegistryService_UpdateFeatureGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureGroups", "feature_group.name"}, "")) + + pattern_FeatureRegistryService_DeleteFeatureGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featureGroups", "name"}, "")) + + pattern_FeatureRegistryService_CreateFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featureGroups", "parent", "features"}, "")) + + pattern_FeatureRegistryService_GetFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureGroups", "features", "name"}, "")) + + pattern_FeatureRegistryService_ListFeatures_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featureGroups", "parent", "features"}, "")) + + pattern_FeatureRegistryService_UpdateFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureGroups", "features", "feature.name"}, "")) + + pattern_FeatureRegistryService_DeleteFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featureGroups", "features", "name"}, "")) +) + +var ( + forward_FeatureRegistryService_CreateFeatureGroup_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_GetFeatureGroup_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_ListFeatureGroups_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_UpdateFeatureGroup_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_DeleteFeatureGroup_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_CreateFeature_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_GetFeature_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_ListFeatures_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_UpdateFeature_0 = runtime.ForwardResponseMessage + + forward_FeatureRegistryService_DeleteFeature_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service_grpc.pb.go new file mode 100644 index 0000000000..6c0c2e47ec --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_registry_service_grpc.pb.go @@ -0,0 +1,451 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FeatureRegistryServiceClient is the client API for FeatureRegistryService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FeatureRegistryServiceClient interface { + // Creates a new FeatureGroup in a given project and location. + CreateFeatureGroup(ctx context.Context, in *CreateFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single FeatureGroup. + GetFeatureGroup(ctx context.Context, in *GetFeatureGroupRequest, opts ...grpc.CallOption) (*FeatureGroup, error) + // Lists FeatureGroups in a given project and location. + ListFeatureGroups(ctx context.Context, in *ListFeatureGroupsRequest, opts ...grpc.CallOption) (*ListFeatureGroupsResponse, error) + // Updates the parameters of a single FeatureGroup. + UpdateFeatureGroup(ctx context.Context, in *UpdateFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single FeatureGroup. + DeleteFeatureGroup(ctx context.Context, in *DeleteFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a new Feature in a given FeatureGroup. + CreateFeature(ctx context.Context, in *CreateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single Feature. + GetFeature(ctx context.Context, in *GetFeatureRequest, opts ...grpc.CallOption) (*Feature, error) + // Lists Features in a given FeatureGroup. + ListFeatures(ctx context.Context, in *ListFeaturesRequest, opts ...grpc.CallOption) (*ListFeaturesResponse, error) + // Updates the parameters of a single Feature. + UpdateFeature(ctx context.Context, in *UpdateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single Feature. + DeleteFeature(ctx context.Context, in *DeleteFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type featureRegistryServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFeatureRegistryServiceClient(cc grpc.ClientConnInterface) FeatureRegistryServiceClient { + return &featureRegistryServiceClient{cc} +} + +func (c *featureRegistryServiceClient) CreateFeatureGroup(ctx context.Context, in *CreateFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) GetFeatureGroup(ctx context.Context, in *GetFeatureGroupRequest, opts ...grpc.CallOption) (*FeatureGroup, error) { + out := new(FeatureGroup) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) ListFeatureGroups(ctx context.Context, in *ListFeatureGroupsRequest, opts ...grpc.CallOption) (*ListFeatureGroupsResponse, error) { + out := new(ListFeatureGroupsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatureGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) UpdateFeatureGroup(ctx context.Context, in *UpdateFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) DeleteFeatureGroup(ctx context.Context, in *DeleteFeatureGroupRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) CreateFeature(ctx context.Context, in *CreateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) GetFeature(ctx context.Context, in *GetFeatureRequest, opts ...grpc.CallOption) (*Feature, error) { + out := new(Feature) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) ListFeatures(ctx context.Context, in *ListFeaturesRequest, opts ...grpc.CallOption) (*ListFeaturesResponse, error) { + out := new(ListFeaturesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) UpdateFeature(ctx context.Context, in *UpdateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featureRegistryServiceClient) DeleteFeature(ctx context.Context, in *DeleteFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FeatureRegistryServiceServer is the server API for FeatureRegistryService service. +// All implementations must embed UnimplementedFeatureRegistryServiceServer +// for forward compatibility +type FeatureRegistryServiceServer interface { + // Creates a new FeatureGroup in a given project and location. + CreateFeatureGroup(context.Context, *CreateFeatureGroupRequest) (*longrunningpb.Operation, error) + // Gets details of a single FeatureGroup. + GetFeatureGroup(context.Context, *GetFeatureGroupRequest) (*FeatureGroup, error) + // Lists FeatureGroups in a given project and location. + ListFeatureGroups(context.Context, *ListFeatureGroupsRequest) (*ListFeatureGroupsResponse, error) + // Updates the parameters of a single FeatureGroup. + UpdateFeatureGroup(context.Context, *UpdateFeatureGroupRequest) (*longrunningpb.Operation, error) + // Deletes a single FeatureGroup. + DeleteFeatureGroup(context.Context, *DeleteFeatureGroupRequest) (*longrunningpb.Operation, error) + // Creates a new Feature in a given FeatureGroup. + CreateFeature(context.Context, *CreateFeatureRequest) (*longrunningpb.Operation, error) + // Gets details of a single Feature. + GetFeature(context.Context, *GetFeatureRequest) (*Feature, error) + // Lists Features in a given FeatureGroup. + ListFeatures(context.Context, *ListFeaturesRequest) (*ListFeaturesResponse, error) + // Updates the parameters of a single Feature. + UpdateFeature(context.Context, *UpdateFeatureRequest) (*longrunningpb.Operation, error) + // Deletes a single Feature. + DeleteFeature(context.Context, *DeleteFeatureRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedFeatureRegistryServiceServer() +} + +// UnimplementedFeatureRegistryServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFeatureRegistryServiceServer struct { +} + +func (UnimplementedFeatureRegistryServiceServer) CreateFeatureGroup(context.Context, *CreateFeatureGroupRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeatureGroup not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) GetFeatureGroup(context.Context, *GetFeatureGroupRequest) (*FeatureGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeatureGroup not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) ListFeatureGroups(context.Context, *ListFeatureGroupsRequest) (*ListFeatureGroupsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatureGroups not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) UpdateFeatureGroup(context.Context, *UpdateFeatureGroupRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeatureGroup not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) DeleteFeatureGroup(context.Context, *DeleteFeatureGroupRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeatureGroup not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) CreateFeature(context.Context, *CreateFeatureRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeature not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) GetFeature(context.Context, *GetFeatureRequest) (*Feature, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeature not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) ListFeatures(context.Context, *ListFeaturesRequest) (*ListFeaturesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatures not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) UpdateFeature(context.Context, *UpdateFeatureRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeature not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) DeleteFeature(context.Context, *DeleteFeatureRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeature not implemented") +} +func (UnimplementedFeatureRegistryServiceServer) mustEmbedUnimplementedFeatureRegistryServiceServer() { +} + +// UnsafeFeatureRegistryServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FeatureRegistryServiceServer will +// result in compilation errors. +type UnsafeFeatureRegistryServiceServer interface { + mustEmbedUnimplementedFeatureRegistryServiceServer() +} + +func RegisterFeatureRegistryServiceServer(s grpc.ServiceRegistrar, srv FeatureRegistryServiceServer) { + s.RegisterService(&FeatureRegistryService_ServiceDesc, srv) +} + +func _FeatureRegistryService_CreateFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeatureGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).CreateFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).CreateFeatureGroup(ctx, req.(*CreateFeatureGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_GetFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).GetFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).GetFeatureGroup(ctx, req.(*GetFeatureGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_ListFeatureGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeatureGroupsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).ListFeatureGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatureGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).ListFeatureGroups(ctx, req.(*ListFeatureGroupsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_UpdateFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeatureGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).UpdateFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).UpdateFeatureGroup(ctx, req.(*UpdateFeatureGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_DeleteFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).DeleteFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).DeleteFeatureGroup(ctx, req.(*DeleteFeatureGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_CreateFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).CreateFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/CreateFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).CreateFeature(ctx, req.(*CreateFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_GetFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).GetFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/GetFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).GetFeature(ctx, req.(*GetFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_ListFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeaturesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).ListFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/ListFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).ListFeatures(ctx, req.(*ListFeaturesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_UpdateFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).UpdateFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/UpdateFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).UpdateFeature(ctx, req.(*UpdateFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeatureRegistryService_DeleteFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeatureRegistryServiceServer).DeleteFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService/DeleteFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeatureRegistryServiceServer).DeleteFeature(ctx, req.(*DeleteFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FeatureRegistryService_ServiceDesc is the grpc.ServiceDesc for FeatureRegistryService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FeatureRegistryService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService", + HandlerType: (*FeatureRegistryServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateFeatureGroup", + Handler: _FeatureRegistryService_CreateFeatureGroup_Handler, + }, + { + MethodName: "GetFeatureGroup", + Handler: _FeatureRegistryService_GetFeatureGroup_Handler, + }, + { + MethodName: "ListFeatureGroups", + Handler: _FeatureRegistryService_ListFeatureGroups_Handler, + }, + { + MethodName: "UpdateFeatureGroup", + Handler: _FeatureRegistryService_UpdateFeatureGroup_Handler, + }, + { + MethodName: "DeleteFeatureGroup", + Handler: _FeatureRegistryService_DeleteFeatureGroup_Handler, + }, + { + MethodName: "CreateFeature", + Handler: _FeatureRegistryService_CreateFeature_Handler, + }, + { + MethodName: "GetFeature", + Handler: _FeatureRegistryService_GetFeature_Handler, + }, + { + MethodName: "ListFeatures", + Handler: _FeatureRegistryService_ListFeatures_Handler, + }, + { + MethodName: "UpdateFeature", + Handler: _FeatureRegistryService_UpdateFeature_Handler, + }, + { + MethodName: "DeleteFeature", + Handler: _FeatureRegistryService_DeleteFeature_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/feature_registry_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_selector.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_selector.pb.go new file mode 100644 index 0000000000..938d1c4349 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_selector.pb.go @@ -0,0 +1,253 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_selector.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Matcher for Features of an EntityType by Feature ID. +type IdMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The following are accepted as `ids`: + // + // - A single-element list containing only `*`, which selects all Features + // in the target EntityType, or + // - A list containing only Feature IDs, which selects only Features with + // those IDs in the target EntityType. + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *IdMatcher) Reset() { + *x = IdMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IdMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdMatcher) ProtoMessage() {} + +func (x *IdMatcher) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[0] + 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 IdMatcher.ProtoReflect.Descriptor instead. +func (*IdMatcher) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescGZIP(), []int{0} +} + +func (x *IdMatcher) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +// Selector for Features of an EntityType. +type FeatureSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches Features based on ID. + IdMatcher *IdMatcher `protobuf:"bytes,1,opt,name=id_matcher,json=idMatcher,proto3" json:"id_matcher,omitempty"` +} + +func (x *FeatureSelector) Reset() { + *x = FeatureSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureSelector) ProtoMessage() {} + +func (x *FeatureSelector) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[1] + 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 FeatureSelector.ProtoReflect.Descriptor instead. +func (*FeatureSelector) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescGZIP(), []int{1} +} + +func (x *FeatureSelector) GetIdMatcher() *IdMatcher { + if x != nil { + return x.IdMatcher + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x22, 0x22, 0x0a, 0x09, + 0x49, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x69, 0x64, 0x73, + 0x22, 0x62, 0x0a, 0x0f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x0a, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x64, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x64, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_goTypes = []interface{}{ + (*IdMatcher)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.IdMatcher + (*FeatureSelector)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureSelector +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureSelector.id_matcher:type_name -> mockgcp.cloud.aiplatform.v1beta1.IdMatcher + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IdMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureSelector); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view.pb.go new file mode 100644 index 0000000000..e1e6c0cb4e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view.pb.go @@ -0,0 +1,1074 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_view.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FeatureView_VectorSearchConfig_DistanceMeasureType int32 + +const ( + // Should not be set. + FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_VectorSearchConfig_DistanceMeasureType = 0 + // Euclidean (L_2) Distance. + FeatureView_VectorSearchConfig_SQUARED_L2_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 1 + // Cosine Distance. Defined as 1 - cosine similarity. + // + // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead + // of COSINE distance. Our algorithms have been more optimized for + // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is + // mathematically equivalent to COSINE distance and results in the same + // ranking. + FeatureView_VectorSearchConfig_COSINE_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 2 + // Dot Product Distance. Defined as a negative of the dot product. + FeatureView_VectorSearchConfig_DOT_PRODUCT_DISTANCE FeatureView_VectorSearchConfig_DistanceMeasureType = 3 +) + +// Enum value maps for FeatureView_VectorSearchConfig_DistanceMeasureType. +var ( + FeatureView_VectorSearchConfig_DistanceMeasureType_name = map[int32]string{ + 0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED", + 1: "SQUARED_L2_DISTANCE", + 2: "COSINE_DISTANCE", + 3: "DOT_PRODUCT_DISTANCE", + } + FeatureView_VectorSearchConfig_DistanceMeasureType_value = map[string]int32{ + "DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0, + "SQUARED_L2_DISTANCE": 1, + "COSINE_DISTANCE": 2, + "DOT_PRODUCT_DISTANCE": 3, + } +) + +func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Enum() *FeatureView_VectorSearchConfig_DistanceMeasureType { + p := new(FeatureView_VectorSearchConfig_DistanceMeasureType) + *p = x + return p +} + +func (x FeatureView_VectorSearchConfig_DistanceMeasureType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeatureView_VectorSearchConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[0].Descriptor() +} + +func (FeatureView_VectorSearchConfig_DistanceMeasureType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[0] +} + +func (x FeatureView_VectorSearchConfig_DistanceMeasureType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeatureView_VectorSearchConfig_DistanceMeasureType.Descriptor instead. +func (FeatureView_VectorSearchConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} +} + +// FeatureView is representation of values that the FeatureOnlineStore will +// serve based on its syncConfig. +type FeatureView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Source: + // + // *FeatureView_BigQuerySource_ + // *FeatureView_FeatureRegistrySource_ + Source isFeatureView_Source `protobuf_oneof:"source"` + // Identifier. Name of the FeatureView. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this FeatureView was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this FeatureView was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // FeatureViews. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one + // FeatureOnlineStore(System labels are excluded)." System reserved label keys + // are prefixed with "aiplatform.googleapis.com/" and are immutable. + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Configures when data is to be synced/updated for this FeatureView. At the + // end of the sync the latest featureValues for each entityId of this + // FeatureView are made ready for online serving. + SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"` + // Optional. Configuration for vector search. It contains the required + // configurations to create an index from source data, so that approximate + // nearest neighbor (a.k.a ANN) algorithms search can be performed during + // online serving. + VectorSearchConfig *FeatureView_VectorSearchConfig `protobuf:"bytes,8,opt,name=vector_search_config,json=vectorSearchConfig,proto3" json:"vector_search_config,omitempty"` +} + +func (x *FeatureView) Reset() { + *x = FeatureView{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView) ProtoMessage() {} + +func (x *FeatureView) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0] + 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 FeatureView.ProtoReflect.Descriptor instead. +func (*FeatureView) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0} +} + +func (m *FeatureView) GetSource() isFeatureView_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource { + if x, ok := x.GetSource().(*FeatureView_BigQuerySource_); ok { + return x.BigQuerySource + } + return nil +} + +func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource { + if x, ok := x.GetSource().(*FeatureView_FeatureRegistrySource_); ok { + return x.FeatureRegistrySource + } + return nil +} + +func (x *FeatureView) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureView) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *FeatureView) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *FeatureView) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *FeatureView) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig { + if x != nil { + return x.SyncConfig + } + return nil +} + +func (x *FeatureView) GetVectorSearchConfig() *FeatureView_VectorSearchConfig { + if x != nil { + return x.VectorSearchConfig + } + return nil +} + +type isFeatureView_Source interface { + isFeatureView_Source() +} + +type FeatureView_BigQuerySource_ struct { + // Optional. Configures how data is supposed to be extracted from a BigQuery + // source to be loaded onto the FeatureOnlineStore. + BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +type FeatureView_FeatureRegistrySource_ struct { + // Optional. Configures the features from a Feature Registry source that + // need to be loaded onto the FeatureOnlineStore. + FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"` +} + +func (*FeatureView_BigQuerySource_) isFeatureView_Source() {} + +func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {} + +type FeatureView_BigQuerySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The BigQuery view URI that will be materialized on each sync + // trigger based on FeatureView.SyncConfig. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Required. Columns to construct entity_id / row keys. Start by supporting + // 1 only. + EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"` +} + +func (x *FeatureView_BigQuerySource) Reset() { + *x = FeatureView_BigQuerySource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_BigQuerySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_BigQuerySource) ProtoMessage() {} + +func (x *FeatureView_BigQuerySource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1] + 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 FeatureView_BigQuerySource.ProtoReflect.Descriptor instead. +func (*FeatureView_BigQuerySource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FeatureView_BigQuerySource) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string { + if x != nil { + return x.EntityIdColumns + } + return nil +} + +// Configuration for Sync. Only one option is set. +type FeatureView_SyncConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in + // the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"` +} + +func (x *FeatureView_SyncConfig) Reset() { + *x = FeatureView_SyncConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_SyncConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_SyncConfig) ProtoMessage() {} + +func (x *FeatureView_SyncConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_SyncConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_SyncConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *FeatureView_SyncConfig) GetCron() string { + if x != nil { + return x.Cron + } + return "" +} + +// Configuration for vector search. +type FeatureView_VectorSearchConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration with regard to the algorithms used for efficient + // search. + // + // Types that are assignable to AlgorithmConfig: + // + // *FeatureView_VectorSearchConfig_TreeAhConfig + // *FeatureView_VectorSearchConfig_BruteForceConfig_ + AlgorithmConfig isFeatureView_VectorSearchConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` + // Optional. Column of embedding. This column contains the source data to + // create index for vector search. embedding_column must be set when using + // vector search. + EmbeddingColumn string `protobuf:"bytes,3,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"` + // Optional. Columns of features that're used to filter vector search + // results. + FilterColumns []string `protobuf:"bytes,4,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` + // Optional. Column of crowding. This column contains crowding attribute + // which is a constraint on a neighbor list produced by nearest neighbor + // search requiring that no more than some value k' of the k neighbors + // returned have the same value of crowding_attribute. + CrowdingColumn string `protobuf:"bytes,5,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` + // Optional. The number of dimensions of the input embedding. + EmbeddingDimension *int32 `protobuf:"varint,6,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` + // Optional. The distance measure used in nearest neighbor search. + DistanceMeasureType FeatureView_VectorSearchConfig_DistanceMeasureType `protobuf:"varint,7,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FeatureView_VectorSearchConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"` +} + +func (x *FeatureView_VectorSearchConfig) Reset() { + *x = FeatureView_VectorSearchConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_VectorSearchConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_VectorSearchConfig) ProtoMessage() {} + +func (x *FeatureView_VectorSearchConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3] + 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 FeatureView_VectorSearchConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_VectorSearchConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2} +} + +func (m *FeatureView_VectorSearchConfig) GetAlgorithmConfig() isFeatureView_VectorSearchConfig_AlgorithmConfig { + if m != nil { + return m.AlgorithmConfig + } + return nil +} + +func (x *FeatureView_VectorSearchConfig) GetTreeAhConfig() *FeatureView_VectorSearchConfig_TreeAHConfig { + if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_TreeAhConfig); ok { + return x.TreeAhConfig + } + return nil +} + +func (x *FeatureView_VectorSearchConfig) GetBruteForceConfig() *FeatureView_VectorSearchConfig_BruteForceConfig { + if x, ok := x.GetAlgorithmConfig().(*FeatureView_VectorSearchConfig_BruteForceConfig_); ok { + return x.BruteForceConfig + } + return nil +} + +func (x *FeatureView_VectorSearchConfig) GetEmbeddingColumn() string { + if x != nil { + return x.EmbeddingColumn + } + return "" +} + +func (x *FeatureView_VectorSearchConfig) GetFilterColumns() []string { + if x != nil { + return x.FilterColumns + } + return nil +} + +func (x *FeatureView_VectorSearchConfig) GetCrowdingColumn() string { + if x != nil { + return x.CrowdingColumn + } + return "" +} + +func (x *FeatureView_VectorSearchConfig) GetEmbeddingDimension() int32 { + if x != nil && x.EmbeddingDimension != nil { + return *x.EmbeddingDimension + } + return 0 +} + +func (x *FeatureView_VectorSearchConfig) GetDistanceMeasureType() FeatureView_VectorSearchConfig_DistanceMeasureType { + if x != nil { + return x.DistanceMeasureType + } + return FeatureView_VectorSearchConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED +} + +type isFeatureView_VectorSearchConfig_AlgorithmConfig interface { + isFeatureView_VectorSearchConfig_AlgorithmConfig() +} + +type FeatureView_VectorSearchConfig_TreeAhConfig struct { + // Optional. Configuration options for the tree-AH algorithm (Shallow tree + // + Asymmetric Hashing). Please refer to this paper for more details: + // https://arxiv.org/abs/1908.10396 + TreeAhConfig *FeatureView_VectorSearchConfig_TreeAHConfig `protobuf:"bytes,8,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"` +} + +type FeatureView_VectorSearchConfig_BruteForceConfig_ struct { + // Optional. Configuration options for using brute force search, which + // simply implements the standard linear search in the database for each + // query. It is primarily meant for benchmarking and to generate the + // ground truth for approximate search. + BruteForceConfig *FeatureView_VectorSearchConfig_BruteForceConfig `protobuf:"bytes,9,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"` +} + +func (*FeatureView_VectorSearchConfig_TreeAhConfig) isFeatureView_VectorSearchConfig_AlgorithmConfig() { +} + +func (*FeatureView_VectorSearchConfig_BruteForceConfig_) isFeatureView_VectorSearchConfig_AlgorithmConfig() { +} + +// A Feature Registry source for features that need to be synced to Online +// Store. +type FeatureView_FeatureRegistrySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. List of features that need to be synced to Online Store. + FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"` +} + +func (x *FeatureView_FeatureRegistrySource) Reset() { + *x = FeatureView_FeatureRegistrySource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_FeatureRegistrySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_FeatureRegistrySource) ProtoMessage() {} + +func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] + 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 FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead. +func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup { + if x != nil { + return x.FeatureGroups + } + return nil +} + +type FeatureView_VectorSearchConfig_BruteForceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FeatureView_VectorSearchConfig_BruteForceConfig) Reset() { + *x = FeatureView_VectorSearchConfig_BruteForceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_VectorSearchConfig_BruteForceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_VectorSearchConfig_BruteForceConfig) ProtoMessage() {} + +func (x *FeatureView_VectorSearchConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_VectorSearchConfig_BruteForceConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_VectorSearchConfig_BruteForceConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} +} + +type FeatureView_VectorSearchConfig_TreeAHConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Number of embeddings on each leaf node. The default value is + // 1000 if not set. + LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"` +} + +func (x *FeatureView_VectorSearchConfig_TreeAHConfig) Reset() { + *x = FeatureView_VectorSearchConfig_TreeAHConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_VectorSearchConfig_TreeAHConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_VectorSearchConfig_TreeAHConfig) ProtoMessage() {} + +func (x *FeatureView_VectorSearchConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] + 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 FeatureView_VectorSearchConfig_TreeAHConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_VectorSearchConfig_TreeAHConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 1} +} + +func (x *FeatureView_VectorSearchConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 { + if x != nil && x.LeafNodeEmbeddingCount != nil { + return *x.LeafNodeEmbeddingCount + } + return 0 +} + +// Features belonging to a single feature group that will be +// synced to Online Store. +type FeatureView_FeatureRegistrySource_FeatureGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Identifier of the feature group. + FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"` + // Required. Identifiers of features under the feature group. + FeatureIds []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"` +} + +func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() { + *x = FeatureView_FeatureRegistrySource_FeatureGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {} + +func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead. +func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string { + if x != nil { + return x.FeatureGroupId + } + return "" +} + +func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string { + if x != nil { + return x.FeatureIds + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x22, 0xea, 0x11, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x6d, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x15, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x56, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x77, 0x0a, 0x14, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x58, 0x0a, 0x0e, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, + 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, + 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x1a, 0xa8, 0x07, 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7a, 0x0a, + 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x65, + 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x86, 0x01, 0x0a, 0x12, 0x62, 0x72, + 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2c, + 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 0x72, + 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a, 0x13, + 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, + 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, 0x75, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, 0x0a, 0x0c, 0x54, + 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x19, 0x6c, + 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x45, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, + 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, + 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, + 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, 0x49, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, 0x49, 0x4e, 0x45, + 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x44, + 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, + 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6d, + 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x1a, 0xfa, 0x01, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x0e, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, + 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0xe8, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = []interface{}{ + (FeatureView_VectorSearchConfig_DistanceMeasureType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType + (*FeatureView)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureView + (*FeatureView_BigQuerySource)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource + (*FeatureView_SyncConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FeatureView.SyncConfig + (*FeatureView_VectorSearchConfig)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig + (*FeatureView_FeatureRegistrySource)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry + (*FeatureView_VectorSearchConfig_BruteForceConfig)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig + (*FeatureView_VectorSearchConfig_TreeAHConfig)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig + (*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup + (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureView.big_query_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource + 5, // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureView.feature_registry_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource + 10, // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureView.create_time:type_name -> google.protobuf.Timestamp + 10, // 3: mockgcp.cloud.aiplatform.v1beta1.FeatureView.update_time:type_name -> google.protobuf.Timestamp + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.FeatureView.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry + 3, // 5: mockgcp.cloud.aiplatform.v1beta1.FeatureView.sync_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.SyncConfig + 4, // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureView.vector_search_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig + 8, // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.tree_ah_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig + 7, // 8: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.brute_force_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig + 0, // 9: mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.distance_measure_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType + 9, // 10: mockgcp.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_SyncConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_VectorSearchConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_FeatureRegistrySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_VectorSearchConfig_BruteForceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_VectorSearchConfig_TreeAHConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_FeatureRegistrySource_FeatureGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*FeatureView_BigQuerySource_)(nil), + (*FeatureView_FeatureRegistrySource_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*FeatureView_VectorSearchConfig_TreeAhConfig)(nil), + (*FeatureView_VectorSearchConfig_BruteForceConfig_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc, + NumEnums: 1, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view_sync.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view_sync.pb.go new file mode 100644 index 0000000000..4f5a3b8b54 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/feature_view_sync.pb.go @@ -0,0 +1,250 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/feature_view_sync.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + interval "google.golang.org/genproto/googleapis/type/interval" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// FeatureViewSync is a representation of sync operation which copies data from +// data source to Feature View in Online Store. +type FeatureViewSync struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. Name of the FeatureViewSync. Format: + // `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}/featureViewSyncs/{feature_view_sync}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Time when this FeatureViewSync is created. Creation of a + // FeatureViewSync means that the job is pending / waiting for sufficient + // resources but may not have started the actual data transfer yet. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when this FeatureViewSync is finished. + RunTime *interval.Interval `protobuf:"bytes,5,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"` + // Output only. Final status of the FeatureViewSync. + FinalStatus *status.Status `protobuf:"bytes,4,opt,name=final_status,json=finalStatus,proto3" json:"final_status,omitempty"` +} + +func (x *FeatureViewSync) Reset() { + *x = FeatureViewSync{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureViewSync) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureViewSync) ProtoMessage() {} + +func (x *FeatureViewSync) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_msgTypes[0] + 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 FeatureViewSync.ProtoReflect.Descriptor instead. +func (*FeatureViewSync) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescGZIP(), []int{0} +} + +func (x *FeatureViewSync) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureViewSync) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *FeatureViewSync) GetRunTime() *interval.Interval { + if x != nil { + return x.RunTime + } + return nil +} + +func (x *FeatureViewSync) GetFinalStatus() *status.Status { + if x != nil { + return x.FinalStatus + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, + 0x03, 0x0a, 0x0f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, + 0x6e, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, + 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x72, 0x75, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x3a, 0xc3, 0x01, 0xea, 0x41, 0xbf, 0x01, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, + 0x6e, 0x63, 0x12, 0x91, 0x01, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, + 0x79, 0x6e, 0x63, 0x73, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x14, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x79, 0x6e, 0x63, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_goTypes = []interface{}{ + (*FeatureViewSync)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync + (*timestamp.Timestamp)(nil), // 1: google.protobuf.Timestamp + (*interval.Interval)(nil), // 2: google.type.Interval + (*status.Status)(nil), // 3: google.rpc.Status +} +var file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync.run_time:type_name -> google.type.Interval + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.FeatureViewSync.final_status:type_name -> google.rpc.Status + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureViewSync); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_feature_view_sync_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore.pb.go new file mode 100644 index 0000000000..3ff6f6cc6b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore.pb.go @@ -0,0 +1,601 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible states a featurestore can have. +type Featurestore_State int32 + +const ( + // Default value. This value is unused. + Featurestore_STATE_UNSPECIFIED Featurestore_State = 0 + // State when the featurestore configuration is not being updated and the + // fields reflect the current configuration of the featurestore. The + // featurestore is usable in this state. + Featurestore_STABLE Featurestore_State = 1 + // The state of the featurestore configuration when it is being updated. + // During an update, the fields reflect either the original configuration + // or the updated configuration of the featurestore. For example, + // `online_serving_config.fixed_node_count` can take minutes to update. + // While the update is in progress, the featurestore is in the UPDATING + // state, and the value of `fixed_node_count` can be the original value or + // the updated value, depending on the progress of the operation. Until the + // update completes, the actual number of nodes can still be the original + // value of `fixed_node_count`. The featurestore is still usable in this + // state. + Featurestore_UPDATING Featurestore_State = 2 +) + +// Enum value maps for Featurestore_State. +var ( + Featurestore_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "STABLE", + 2: "UPDATING", + } + Featurestore_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "STABLE": 1, + "UPDATING": 2, + } +) + +func (x Featurestore_State) Enum() *Featurestore_State { + p := new(Featurestore_State) + *p = x + return p +} + +func (x Featurestore_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Featurestore_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_enumTypes[0].Descriptor() +} + +func (Featurestore_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_enumTypes[0] +} + +func (x Featurestore_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Featurestore_State.Descriptor instead. +func (Featurestore_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescGZIP(), []int{0, 0} +} + +// Vertex AI Feature Store provides a centralized repository for organizing, +// storing, and serving ML features. The Featurestore is a top-level container +// for your features and their values. +type Featurestore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Name of the Featurestore. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this Featurestore was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Featurestore was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Used to perform consistent read-modify-write updates. If not set, + // a blind "overwrite" update happens. + Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The labels with user-defined metadata to organize your + // Featurestore. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + // No more than 64 user labels can be associated with one Featurestore(System + // labels are excluded)." + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Config for online storage resources. The field should not + // co-exist with the field of `OnlineStoreReplicationConfig`. If both of it + // and OnlineStoreReplicationConfig are unset, the feature store will not have + // an online store and cannot be used for online serving. + OnlineServingConfig *Featurestore_OnlineServingConfig `protobuf:"bytes,7,opt,name=online_serving_config,json=onlineServingConfig,proto3" json:"online_serving_config,omitempty"` + // Output only. State of the featurestore. + State Featurestore_State `protobuf:"varint,8,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Featurestore_State" json:"state,omitempty"` + // Optional. TTL in days for feature values that will be stored in online + // serving storage. The Feature Store online storage periodically removes + // obsolete feature values older than `online_storage_ttl_days` since the + // feature generation time. Note that `online_storage_ttl_days` should be less + // than or equal to `offline_storage_ttl_days` for each EntityType under a + // featurestore. If not set, default to 4000 days + OnlineStorageTtlDays int32 `protobuf:"varint,13,opt,name=online_storage_ttl_days,json=onlineStorageTtlDays,proto3" json:"online_storage_ttl_days,omitempty"` + // Optional. Customer-managed encryption key spec for data storage. If set, + // both of the online and offline data storage will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,10,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *Featurestore) Reset() { + *x = Featurestore{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Featurestore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Featurestore) ProtoMessage() {} + +func (x *Featurestore) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[0] + 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 Featurestore.ProtoReflect.Descriptor instead. +func (*Featurestore) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescGZIP(), []int{0} +} + +func (x *Featurestore) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Featurestore) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Featurestore) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Featurestore) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Featurestore) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Featurestore) GetOnlineServingConfig() *Featurestore_OnlineServingConfig { + if x != nil { + return x.OnlineServingConfig + } + return nil +} + +func (x *Featurestore) GetState() Featurestore_State { + if x != nil { + return x.State + } + return Featurestore_STATE_UNSPECIFIED +} + +func (x *Featurestore) GetOnlineStorageTtlDays() int32 { + if x != nil { + return x.OnlineStorageTtlDays + } + return 0 +} + +func (x *Featurestore) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +// OnlineServingConfig specifies the details for provisioning online serving +// resources. +type Featurestore_OnlineServingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of nodes for the online store. The number of nodes doesn't + // scale automatically, but you can manually update the number of + // nodes. If set to 0, the featurestore will not have an + // online store and cannot be used for online serving. + FixedNodeCount int32 `protobuf:"varint,2,opt,name=fixed_node_count,json=fixedNodeCount,proto3" json:"fixed_node_count,omitempty"` + // Online serving scaling configuration. + // Only one of `fixed_node_count` and `scaling` can be set. Setting one will + // reset the other. + Scaling *Featurestore_OnlineServingConfig_Scaling `protobuf:"bytes,4,opt,name=scaling,proto3" json:"scaling,omitempty"` +} + +func (x *Featurestore_OnlineServingConfig) Reset() { + *x = Featurestore_OnlineServingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Featurestore_OnlineServingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Featurestore_OnlineServingConfig) ProtoMessage() {} + +func (x *Featurestore_OnlineServingConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[1] + 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 Featurestore_OnlineServingConfig.ProtoReflect.Descriptor instead. +func (*Featurestore_OnlineServingConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Featurestore_OnlineServingConfig) GetFixedNodeCount() int32 { + if x != nil { + return x.FixedNodeCount + } + return 0 +} + +func (x *Featurestore_OnlineServingConfig) GetScaling() *Featurestore_OnlineServingConfig_Scaling { + if x != nil { + return x.Scaling + } + return nil +} + +// Online serving scaling configuration. If min_node_count and +// max_node_count are set to the same value, the cluster will be configured +// with the fixed number of node (no auto-scaling). +type Featurestore_OnlineServingConfig_Scaling struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The minimum number of nodes to scale down to. Must be greater + // than or equal to 1. + MinNodeCount int32 `protobuf:"varint,1,opt,name=min_node_count,json=minNodeCount,proto3" json:"min_node_count,omitempty"` + // The maximum number of nodes to scale up to. Must be greater than + // min_node_count, and less than or equal to 10 times of 'min_node_count'. + MaxNodeCount int32 `protobuf:"varint,2,opt,name=max_node_count,json=maxNodeCount,proto3" json:"max_node_count,omitempty"` + // Optional. The cpu utilization that the Autoscaler should be trying to + // achieve. This number is on a scale from 0 (no utilization) to 100 + // (total utilization), and is limited between 10 and 80. When a cluster's + // CPU utilization exceeds the target that you have set, Bigtable + // immediately adds nodes to the cluster. When CPU utilization is + // substantially lower than the target, Bigtable removes nodes. If not set + // or set to 0, default to 50. + CpuUtilizationTarget int32 `protobuf:"varint,3,opt,name=cpu_utilization_target,json=cpuUtilizationTarget,proto3" json:"cpu_utilization_target,omitempty"` +} + +func (x *Featurestore_OnlineServingConfig_Scaling) Reset() { + *x = Featurestore_OnlineServingConfig_Scaling{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Featurestore_OnlineServingConfig_Scaling) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Featurestore_OnlineServingConfig_Scaling) ProtoMessage() {} + +func (x *Featurestore_OnlineServingConfig_Scaling) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[3] + 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 Featurestore_OnlineServingConfig_Scaling.ProtoReflect.Descriptor instead. +func (*Featurestore_OnlineServingConfig_Scaling) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *Featurestore_OnlineServingConfig_Scaling) GetMinNodeCount() int32 { + if x != nil { + return x.MinNodeCount + } + return 0 +} + +func (x *Featurestore_OnlineServingConfig_Scaling) GetMaxNodeCount() int32 { + if x != nil { + return x.MaxNodeCount + } + return 0 +} + +func (x *Featurestore_OnlineServingConfig_Scaling) GetCpuUtilizationTarget() int32 { + if x != nil { + return x.CpuUtilizationTarget + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x22, 0xaf, 0x09, 0x0a, + 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x7b, 0x0a, 0x15, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x17, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x74, 0x6c, + 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x14, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, + 0x74, 0x6c, 0x44, 0x61, 0x79, 0x73, 0x12, 0x5e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xbd, 0x02, 0x0a, 0x13, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, + 0x0a, 0x10, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x07, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x95, + 0x01, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x69, + 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, + 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x63, + 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x14, 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x3a, 0x71, 0xea, 0x41, 0x6e, + 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x44, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x42, 0xe9, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_goTypes = []interface{}{ + (Featurestore_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Featurestore.State + (*Featurestore)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Featurestore + (*Featurestore_OnlineServingConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Featurestore.OnlineServingConfig + nil, // 3: mockgcp.cloud.aiplatform.v1beta1.Featurestore.LabelsEntry + (*Featurestore_OnlineServingConfig_Scaling)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.Featurestore.OnlineServingConfig.Scaling + (*timestamp.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_depIdxs = []int32{ + 5, // 0: mockgcp.cloud.aiplatform.v1beta1.Featurestore.create_time:type_name -> google.protobuf.Timestamp + 5, // 1: mockgcp.cloud.aiplatform.v1beta1.Featurestore.update_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.Featurestore.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore.LabelsEntry + 2, // 3: mockgcp.cloud.aiplatform.v1beta1.Featurestore.online_serving_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore.OnlineServingConfig + 0, // 4: mockgcp.cloud.aiplatform.v1beta1.Featurestore.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore.State + 6, // 5: mockgcp.cloud.aiplatform.v1beta1.Featurestore.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 4, // 6: mockgcp.cloud.aiplatform.v1beta1.Featurestore.OnlineServingConfig.scaling:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore.OnlineServingConfig.Scaling + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Featurestore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Featurestore_OnlineServingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Featurestore_OnlineServingConfig_Scaling); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_monitoring.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_monitoring.pb.go new file mode 100644 index 0000000000..b8ebbd13bb --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_monitoring.pb.go @@ -0,0 +1,728 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_monitoring.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The state defines whether to enable ImportFeature analysis. +type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State int32 + +const ( + // Should not be used. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_STATE_UNSPECIFIED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 0 + // The default behavior of whether to enable the monitoring. + // EntityType-level config: disabled. + // Feature-level config: inherited from the configuration of EntityType + // this Feature belongs to. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_DEFAULT FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 1 + // Explicitly enables import features analysis. + // EntityType-level config: by default enables import features analysis + // for all Features under it. Feature-level config: enables import + // features analysis regardless of the EntityType-level config. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_ENABLED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 2 + // Explicitly disables import features analysis. + // EntityType-level config: by default disables import features analysis + // for all Features under it. Feature-level config: disables import + // features analysis regardless of the EntityType-level config. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_DISABLED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 3 +) + +// Enum value maps for FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State. +var ( + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "DEFAULT", + 2: "ENABLED", + 3: "DISABLED", + } + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "DEFAULT": 1, + "ENABLED": 2, + "DISABLED": 3, + } +) + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Enum() *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State { + p := new(FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) + *p = x + return p +} + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[0].Descriptor() +} + +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[0] +} + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State.Descriptor instead. +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0, 1, 0} +} + +// Defines the baseline to do anomaly detection for feature values imported +// by each +// [ImportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues] +// operation. +type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline int32 + +const ( + // Should not be used. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_BASELINE_UNSPECIFIED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 0 + // Choose the later one statistics generated by either most recent + // snapshot analysis or previous import features analysis. If non of them + // exists, skip anomaly detection and only generate a statistics. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_LATEST_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 1 + // Use the statistics generated by the most recent snapshot analysis if + // exists. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_MOST_RECENT_SNAPSHOT_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 2 + // Use the statistics generated by the previous import features analysis + // if exists. + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_PREVIOUS_IMPORT_FEATURES_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 3 +) + +// Enum value maps for FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline. +var ( + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline_name = map[int32]string{ + 0: "BASELINE_UNSPECIFIED", + 1: "LATEST_STATS", + 2: "MOST_RECENT_SNAPSHOT_STATS", + 3: "PREVIOUS_IMPORT_FEATURES_STATS", + } + FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline_value = map[string]int32{ + "BASELINE_UNSPECIFIED": 0, + "LATEST_STATS": 1, + "MOST_RECENT_SNAPSHOT_STATS": 2, + "PREVIOUS_IMPORT_FEATURES_STATS": 3, + } +) + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Enum() *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline { + p := new(FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) + *p = x + return p +} + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[1].Descriptor() +} + +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[1] +} + +func (x FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline.Descriptor instead. +func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0, 1, 1} +} + +// Configuration of how features in Featurestore are monitored. +type FeaturestoreMonitoringConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The config for Snapshot Analysis Based Feature Monitoring. + SnapshotAnalysis *FeaturestoreMonitoringConfig_SnapshotAnalysis `protobuf:"bytes,1,opt,name=snapshot_analysis,json=snapshotAnalysis,proto3" json:"snapshot_analysis,omitempty"` + // The config for ImportFeatures Analysis Based Feature Monitoring. + ImportFeaturesAnalysis *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis `protobuf:"bytes,2,opt,name=import_features_analysis,json=importFeaturesAnalysis,proto3" json:"import_features_analysis,omitempty"` + // Threshold for numerical features of anomaly detection. + // This is shared by all objectives of Featurestore Monitoring for numerical + // features (i.e. Features with type + // ([Feature.ValueType][mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType]) + // DOUBLE or INT64). + NumericalThresholdConfig *FeaturestoreMonitoringConfig_ThresholdConfig `protobuf:"bytes,3,opt,name=numerical_threshold_config,json=numericalThresholdConfig,proto3" json:"numerical_threshold_config,omitempty"` + // Threshold for categorical features of anomaly detection. + // This is shared by all types of Featurestore Monitoring for categorical + // features (i.e. Features with type + // ([Feature.ValueType][mockgcp.cloud.aiplatform.v1beta1.Feature.ValueType]) + // BOOL or STRING). + CategoricalThresholdConfig *FeaturestoreMonitoringConfig_ThresholdConfig `protobuf:"bytes,4,opt,name=categorical_threshold_config,json=categoricalThresholdConfig,proto3" json:"categorical_threshold_config,omitempty"` +} + +func (x *FeaturestoreMonitoringConfig) Reset() { + *x = FeaturestoreMonitoringConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeaturestoreMonitoringConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeaturestoreMonitoringConfig) ProtoMessage() {} + +func (x *FeaturestoreMonitoringConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[0] + 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 FeaturestoreMonitoringConfig.ProtoReflect.Descriptor instead. +func (*FeaturestoreMonitoringConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0} +} + +func (x *FeaturestoreMonitoringConfig) GetSnapshotAnalysis() *FeaturestoreMonitoringConfig_SnapshotAnalysis { + if x != nil { + return x.SnapshotAnalysis + } + return nil +} + +func (x *FeaturestoreMonitoringConfig) GetImportFeaturesAnalysis() *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis { + if x != nil { + return x.ImportFeaturesAnalysis + } + return nil +} + +func (x *FeaturestoreMonitoringConfig) GetNumericalThresholdConfig() *FeaturestoreMonitoringConfig_ThresholdConfig { + if x != nil { + return x.NumericalThresholdConfig + } + return nil +} + +func (x *FeaturestoreMonitoringConfig) GetCategoricalThresholdConfig() *FeaturestoreMonitoringConfig_ThresholdConfig { + if x != nil { + return x.CategoricalThresholdConfig + } + return nil +} + +// Configuration of the Featurestore's Snapshot Analysis Based Monitoring. +// This type of analysis generates statistics for each Feature based on a +// snapshot of the latest feature value of each entities every +// monitoring_interval. +type FeaturestoreMonitoringConfig_SnapshotAnalysis struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The monitoring schedule for snapshot analysis. + // For EntityType-level config: + // + // unset / disabled = true indicates disabled by + // default for Features under it; otherwise by default enable snapshot + // analysis monitoring with monitoring_interval for Features under it. + // + // Feature-level config: + // + // disabled = true indicates disabled regardless of the EntityType-level + // config; unset monitoring_interval indicates going with EntityType-level + // config; otherwise run snapshot analysis monitoring with + // monitoring_interval regardless of the EntityType-level config. + // + // Explicitly Disable the snapshot analysis based monitoring. + Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` + // Configuration of the snapshot analysis based monitoring pipeline running + // interval. The value is rolled up to full day. + // If both + // [monitoring_interval_days][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days] + // and the deprecated `monitoring_interval` field + // are set when creating/updating EntityTypes/Features, + // [monitoring_interval_days][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days] + // will be used. + // + // Deprecated: Do not use. + MonitoringInterval *duration.Duration `protobuf:"bytes,2,opt,name=monitoring_interval,json=monitoringInterval,proto3" json:"monitoring_interval,omitempty"` + // Configuration of the snapshot analysis based monitoring pipeline + // running interval. The value indicates number of days. + MonitoringIntervalDays int32 `protobuf:"varint,3,opt,name=monitoring_interval_days,json=monitoringIntervalDays,proto3" json:"monitoring_interval_days,omitempty"` + // Customized export features time window for snapshot analysis. Unit is one + // day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is + // 4000 days. + StalenessDays int32 `protobuf:"varint,4,opt,name=staleness_days,json=stalenessDays,proto3" json:"staleness_days,omitempty"` +} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) Reset() { + *x = FeaturestoreMonitoringConfig_SnapshotAnalysis{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeaturestoreMonitoringConfig_SnapshotAnalysis) ProtoMessage() {} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[1] + 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 FeaturestoreMonitoringConfig_SnapshotAnalysis.ProtoReflect.Descriptor instead. +func (*FeaturestoreMonitoringConfig_SnapshotAnalysis) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +// Deprecated: Do not use. +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetMonitoringInterval() *duration.Duration { + if x != nil { + return x.MonitoringInterval + } + return nil +} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetMonitoringIntervalDays() int32 { + if x != nil { + return x.MonitoringIntervalDays + } + return 0 +} + +func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetStalenessDays() int32 { + if x != nil { + return x.StalenessDays + } + return 0 +} + +// Configuration of the Featurestore's ImportFeature Analysis Based +// Monitoring. This type of analysis generates statistics for values of each +// Feature imported by every +// [ImportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues] +// operation. +type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether to enable / disable / inherite default hebavior for import + // features analysis. + State FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State `protobuf:"varint,1,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State" json:"state,omitempty"` + // The baseline used to do anomaly detection for the statistics generated by + // import features analysis. + AnomalyDetectionBaseline FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline `protobuf:"varint,2,opt,name=anomaly_detection_baseline,json=anomalyDetectionBaseline,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline" json:"anomaly_detection_baseline,omitempty"` +} + +func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) Reset() { + *x = FeaturestoreMonitoringConfig_ImportFeaturesAnalysis{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) ProtoMessage() {} + +func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_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 FeaturestoreMonitoringConfig_ImportFeaturesAnalysis.ProtoReflect.Descriptor instead. +func (*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) GetState() FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State { + if x != nil { + return x.State + } + return FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_STATE_UNSPECIFIED +} + +func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) GetAnomalyDetectionBaseline() FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline { + if x != nil { + return x.AnomalyDetectionBaseline + } + return FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_BASELINE_UNSPECIFIED +} + +// The config for Featurestore Monitoring threshold. +type FeaturestoreMonitoringConfig_ThresholdConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Threshold: + // + // *FeaturestoreMonitoringConfig_ThresholdConfig_Value + Threshold isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold `protobuf_oneof:"threshold"` +} + +func (x *FeaturestoreMonitoringConfig_ThresholdConfig) Reset() { + *x = FeaturestoreMonitoringConfig_ThresholdConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeaturestoreMonitoringConfig_ThresholdConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeaturestoreMonitoringConfig_ThresholdConfig) ProtoMessage() {} + +func (x *FeaturestoreMonitoringConfig_ThresholdConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[3] + 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 FeaturestoreMonitoringConfig_ThresholdConfig.ProtoReflect.Descriptor instead. +func (*FeaturestoreMonitoringConfig_ThresholdConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP(), []int{0, 2} +} + +func (m *FeaturestoreMonitoringConfig_ThresholdConfig) GetThreshold() isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold { + if m != nil { + return m.Threshold + } + return nil +} + +func (x *FeaturestoreMonitoringConfig_ThresholdConfig) GetValue() float64 { + if x, ok := x.GetThreshold().(*FeaturestoreMonitoringConfig_ThresholdConfig_Value); ok { + return x.Value + } + return 0 +} + +type isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold interface { + isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold() +} + +type FeaturestoreMonitoringConfig_ThresholdConfig_Value struct { + // Specify a threshold value that can trigger the alert. + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. Each feature must have a non-zero threshold + // if they need to be monitored. Otherwise no alert will be triggered for + // that feature. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"` +} + +func (*FeaturestoreMonitoringConfig_ThresholdConfig_Value) isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold() { +} + +var File_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc = []byte{ + 0x0a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x22, 0xdb, 0x0a, 0x0a, 0x1c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x7c, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, + 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x16, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x1a, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, + 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, + 0x63, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x90, 0x01, 0x0a, 0x1c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, + 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1a, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xdf, 0x01, 0x0a, 0x10, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 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, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x12, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x64, 0x61, + 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x44, 0x61, 0x79, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x61, + 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x6e, + 0x65, 0x73, 0x73, 0x44, 0x61, 0x79, 0x73, 0x1a, 0xee, 0x03, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x12, 0x71, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x5b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x1a, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x79, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5e, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x18, 0x61, 0x6e, 0x6f, 0x6d, + 0x61, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x46, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, + 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, + 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x22, 0x7a, 0x0a, 0x08, + 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x41, 0x53, 0x45, + 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x53, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x43, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x53, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x45, 0x56, 0x49, 0x4f, 0x55, 0x53, + 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x03, 0x1a, 0x36, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x42, 0xf3, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1b, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes = []interface{}{ + (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.State + (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.Baseline + (*FeaturestoreMonitoringConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig + (*FeaturestoreMonitoringConfig_SnapshotAnalysis)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis + (*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis + (*FeaturestoreMonitoringConfig_ThresholdConfig)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig + (*duration.Duration)(nil), // 6: google.protobuf.Duration +} +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs = []int32{ + 3, // 0: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.snapshot_analysis:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.import_features_analysis:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.numerical_threshold_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig + 5, // 3: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.categorical_threshold_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval:type_name -> google.protobuf.Duration + 0, // 5: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.State + 1, // 6: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.anomaly_detection_baseline:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.Baseline + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeaturestoreMonitoringConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeaturestoreMonitoringConfig_SnapshotAnalysis); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeaturestoreMonitoringConfig_ThresholdConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*FeaturestoreMonitoringConfig_ThresholdConfig_Value)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc, + NumEnums: 2, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.go new file mode 100644 index 0000000000..946d358cf9 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.go @@ -0,0 +1,1519 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [FeaturestoreOnlineServingService.WriteFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.WriteFeatureValues]. +type WriteFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the EntityType for the entities being + // written. Value format: + // `projects/{project}/locations/{location}/featurestores/ + // {featurestore}/entityTypes/{entityType}`. For example, + // for a machine learning model predicting user clicks on a website, an + // EntityType ID could be `user`. + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Required. The entities to be written. Up to 100,000 feature values can be + // written across all `payloads`. + Payloads []*WriteFeatureValuesPayload `protobuf:"bytes,2,rep,name=payloads,proto3" json:"payloads,omitempty"` +} + +func (x *WriteFeatureValuesRequest) Reset() { + *x = WriteFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteFeatureValuesRequest) ProtoMessage() {} + +func (x *WriteFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[0] + 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 WriteFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*WriteFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{0} +} + +func (x *WriteFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *WriteFeatureValuesRequest) GetPayloads() []*WriteFeatureValuesPayload { + if x != nil { + return x.Payloads + } + return nil +} + +// Contains Feature values to be written for a specific entity. +type WriteFeatureValuesPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of the entity. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // Required. Feature values to be written, mapping from Feature ID to value. + // Up to 100,000 `feature_values` entries may be written across all payloads. + // The feature generation time, aligned by days, must be no older than five + // years (1825 days) and no later than one year (366 days) in the future. + FeatureValues map[string]*FeatureValue `protobuf:"bytes,2,rep,name=feature_values,json=featureValues,proto3" json:"feature_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *WriteFeatureValuesPayload) Reset() { + *x = WriteFeatureValuesPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteFeatureValuesPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteFeatureValuesPayload) ProtoMessage() {} + +func (x *WriteFeatureValuesPayload) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[1] + 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 WriteFeatureValuesPayload.ProtoReflect.Descriptor instead. +func (*WriteFeatureValuesPayload) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{1} +} + +func (x *WriteFeatureValuesPayload) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *WriteFeatureValuesPayload) GetFeatureValues() map[string]*FeatureValue { + if x != nil { + return x.FeatureValues + } + return nil +} + +// Response message for +// [FeaturestoreOnlineServingService.WriteFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.WriteFeatureValues]. +type WriteFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *WriteFeatureValuesResponse) Reset() { + *x = WriteFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteFeatureValuesResponse) ProtoMessage() {} + +func (x *WriteFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_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 WriteFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*WriteFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{2} +} + +// Request message for +// [FeaturestoreOnlineServingService.ReadFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues]. +type ReadFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the EntityType for the entity being read. + // Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + // For example, for a machine learning model predicting user clicks on a + // website, an EntityType ID could be `user`. + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Required. ID for a specific entity. For example, + // for a machine learning model predicting user clicks on a website, an entity + // ID could be `user_123`. + EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // Required. Selector choosing Features of the target EntityType. + FeatureSelector *FeatureSelector `protobuf:"bytes,3,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"` +} + +func (x *ReadFeatureValuesRequest) Reset() { + *x = ReadFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesRequest) ProtoMessage() {} + +func (x *ReadFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[3] + 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 ReadFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ReadFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *ReadFeatureValuesRequest) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *ReadFeatureValuesRequest) GetFeatureSelector() *FeatureSelector { + if x != nil { + return x.FeatureSelector + } + return nil +} + +// Response message for +// [FeaturestoreOnlineServingService.ReadFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues]. +type ReadFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Response header. + Header *ReadFeatureValuesResponse_Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // Entity view with Feature values. This may be the entity in the + // Featurestore if values for all Features were requested, or a projection + // of the entity in the Featurestore if values for only some Features were + // requested. + EntityView *ReadFeatureValuesResponse_EntityView `protobuf:"bytes,2,opt,name=entity_view,json=entityView,proto3" json:"entity_view,omitempty"` +} + +func (x *ReadFeatureValuesResponse) Reset() { + *x = ReadFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesResponse) ProtoMessage() {} + +func (x *ReadFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[4] + 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 ReadFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ReadFeatureValuesResponse) GetHeader() *ReadFeatureValuesResponse_Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *ReadFeatureValuesResponse) GetEntityView() *ReadFeatureValuesResponse_EntityView { + if x != nil { + return x.EntityView + } + return nil +} + +// Request message for +// [FeaturestoreOnlineServingService.StreamingFeatureValuesRead][]. +type StreamingReadFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the entities' type. + // Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + // For example, + // for a machine learning model predicting user clicks on a website, an + // EntityType ID could be `user`. + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Required. IDs of entities to read Feature values of. The maximum number of + // IDs is 100. For example, for a machine learning model predicting user + // clicks on a website, an entity ID could be `user_123`. + EntityIds []string `protobuf:"bytes,2,rep,name=entity_ids,json=entityIds,proto3" json:"entity_ids,omitempty"` + // Required. Selector choosing Features of the target EntityType. Feature IDs + // will be deduplicated. + FeatureSelector *FeatureSelector `protobuf:"bytes,3,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"` +} + +func (x *StreamingReadFeatureValuesRequest) Reset() { + *x = StreamingReadFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingReadFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingReadFeatureValuesRequest) ProtoMessage() {} + +func (x *StreamingReadFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[5] + 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 StreamingReadFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*StreamingReadFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{5} +} + +func (x *StreamingReadFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *StreamingReadFeatureValuesRequest) GetEntityIds() []string { + if x != nil { + return x.EntityIds + } + return nil +} + +func (x *StreamingReadFeatureValuesRequest) GetFeatureSelector() *FeatureSelector { + if x != nil { + return x.FeatureSelector + } + return nil +} + +// Value for a feature. +type FeatureValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Value for the feature. + // + // Types that are assignable to Value: + // + // *FeatureValue_BoolValue + // *FeatureValue_DoubleValue + // *FeatureValue_Int64Value + // *FeatureValue_StringValue + // *FeatureValue_BoolArrayValue + // *FeatureValue_DoubleArrayValue + // *FeatureValue_Int64ArrayValue + // *FeatureValue_StringArrayValue + // *FeatureValue_BytesValue + Value isFeatureValue_Value `protobuf_oneof:"value"` + // Metadata of feature value. + Metadata *FeatureValue_Metadata `protobuf:"bytes,14,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *FeatureValue) Reset() { + *x = FeatureValue{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureValue) ProtoMessage() {} + +func (x *FeatureValue) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_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 FeatureValue.ProtoReflect.Descriptor instead. +func (*FeatureValue) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{6} +} + +func (m *FeatureValue) GetValue() isFeatureValue_Value { + if m != nil { + return m.Value + } + return nil +} + +func (x *FeatureValue) GetBoolValue() bool { + if x, ok := x.GetValue().(*FeatureValue_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (x *FeatureValue) GetDoubleValue() float64 { + if x, ok := x.GetValue().(*FeatureValue_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (x *FeatureValue) GetInt64Value() int64 { + if x, ok := x.GetValue().(*FeatureValue_Int64Value); ok { + return x.Int64Value + } + return 0 +} + +func (x *FeatureValue) GetStringValue() string { + if x, ok := x.GetValue().(*FeatureValue_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *FeatureValue) GetBoolArrayValue() *BoolArray { + if x, ok := x.GetValue().(*FeatureValue_BoolArrayValue); ok { + return x.BoolArrayValue + } + return nil +} + +func (x *FeatureValue) GetDoubleArrayValue() *DoubleArray { + if x, ok := x.GetValue().(*FeatureValue_DoubleArrayValue); ok { + return x.DoubleArrayValue + } + return nil +} + +func (x *FeatureValue) GetInt64ArrayValue() *Int64Array { + if x, ok := x.GetValue().(*FeatureValue_Int64ArrayValue); ok { + return x.Int64ArrayValue + } + return nil +} + +func (x *FeatureValue) GetStringArrayValue() *StringArray { + if x, ok := x.GetValue().(*FeatureValue_StringArrayValue); ok { + return x.StringArrayValue + } + return nil +} + +func (x *FeatureValue) GetBytesValue() []byte { + if x, ok := x.GetValue().(*FeatureValue_BytesValue); ok { + return x.BytesValue + } + return nil +} + +func (x *FeatureValue) GetMetadata() *FeatureValue_Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +type isFeatureValue_Value interface { + isFeatureValue_Value() +} + +type FeatureValue_BoolValue struct { + // Bool type feature value. + BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type FeatureValue_DoubleValue struct { + // Double type feature value. + DoubleValue float64 `protobuf:"fixed64,2,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type FeatureValue_Int64Value struct { + // Int64 feature value. + Int64Value int64 `protobuf:"varint,5,opt,name=int64_value,json=int64Value,proto3,oneof"` +} + +type FeatureValue_StringValue struct { + // String feature value. + StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type FeatureValue_BoolArrayValue struct { + // A list of bool type feature value. + BoolArrayValue *BoolArray `protobuf:"bytes,7,opt,name=bool_array_value,json=boolArrayValue,proto3,oneof"` +} + +type FeatureValue_DoubleArrayValue struct { + // A list of double type feature value. + DoubleArrayValue *DoubleArray `protobuf:"bytes,8,opt,name=double_array_value,json=doubleArrayValue,proto3,oneof"` +} + +type FeatureValue_Int64ArrayValue struct { + // A list of int64 type feature value. + Int64ArrayValue *Int64Array `protobuf:"bytes,11,opt,name=int64_array_value,json=int64ArrayValue,proto3,oneof"` +} + +type FeatureValue_StringArrayValue struct { + // A list of string type feature value. + StringArrayValue *StringArray `protobuf:"bytes,12,opt,name=string_array_value,json=stringArrayValue,proto3,oneof"` +} + +type FeatureValue_BytesValue struct { + // Bytes feature value. + BytesValue []byte `protobuf:"bytes,13,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +func (*FeatureValue_BoolValue) isFeatureValue_Value() {} + +func (*FeatureValue_DoubleValue) isFeatureValue_Value() {} + +func (*FeatureValue_Int64Value) isFeatureValue_Value() {} + +func (*FeatureValue_StringValue) isFeatureValue_Value() {} + +func (*FeatureValue_BoolArrayValue) isFeatureValue_Value() {} + +func (*FeatureValue_DoubleArrayValue) isFeatureValue_Value() {} + +func (*FeatureValue_Int64ArrayValue) isFeatureValue_Value() {} + +func (*FeatureValue_StringArrayValue) isFeatureValue_Value() {} + +func (*FeatureValue_BytesValue) isFeatureValue_Value() {} + +// Container for list of values. +type FeatureValueList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of feature values. All of them should be the same data type. + Values []*FeatureValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *FeatureValueList) Reset() { + *x = FeatureValueList{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureValueList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureValueList) ProtoMessage() {} + +func (x *FeatureValueList) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[7] + 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 FeatureValueList.ProtoReflect.Descriptor instead. +func (*FeatureValueList) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{7} +} + +func (x *FeatureValueList) GetValues() []*FeatureValue { + if x != nil { + return x.Values + } + return nil +} + +// Metadata for requested Features. +type ReadFeatureValuesResponse_FeatureDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Feature ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ReadFeatureValuesResponse_FeatureDescriptor) Reset() { + *x = ReadFeatureValuesResponse_FeatureDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesResponse_FeatureDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesResponse_FeatureDescriptor) ProtoMessage() {} + +func (x *ReadFeatureValuesResponse_FeatureDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[9] + 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 ReadFeatureValuesResponse_FeatureDescriptor.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesResponse_FeatureDescriptor) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *ReadFeatureValuesResponse_FeatureDescriptor) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// Response header with metadata for the requested +// [ReadFeatureValuesRequest.entity_type][mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest.entity_type] +// and Features. +type ReadFeatureValuesResponse_Header struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resource name of the EntityType from the + // [ReadFeatureValuesRequest][mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest]. + // Value format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // List of Feature metadata corresponding to each piece of + // [ReadFeatureValuesResponse.EntityView.data][mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.data]. + FeatureDescriptors []*ReadFeatureValuesResponse_FeatureDescriptor `protobuf:"bytes,2,rep,name=feature_descriptors,json=featureDescriptors,proto3" json:"feature_descriptors,omitempty"` +} + +func (x *ReadFeatureValuesResponse_Header) Reset() { + *x = ReadFeatureValuesResponse_Header{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesResponse_Header) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesResponse_Header) ProtoMessage() {} + +func (x *ReadFeatureValuesResponse_Header) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[10] + 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 ReadFeatureValuesResponse_Header.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesResponse_Header) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *ReadFeatureValuesResponse_Header) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *ReadFeatureValuesResponse_Header) GetFeatureDescriptors() []*ReadFeatureValuesResponse_FeatureDescriptor { + if x != nil { + return x.FeatureDescriptors + } + return nil +} + +// Entity view with Feature values. +type ReadFeatureValuesResponse_EntityView struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the requested entity. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // Each piece of data holds the k + // requested values for one requested Feature. If no values + // for the requested Feature exist, the corresponding cell will be empty. + // This has the same size and is in the same order as the features from the + // header + // [ReadFeatureValuesResponse.header][mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.header]. + Data []*ReadFeatureValuesResponse_EntityView_Data `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ReadFeatureValuesResponse_EntityView) Reset() { + *x = ReadFeatureValuesResponse_EntityView{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesResponse_EntityView) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesResponse_EntityView) ProtoMessage() {} + +func (x *ReadFeatureValuesResponse_EntityView) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[11] + 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 ReadFeatureValuesResponse_EntityView.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesResponse_EntityView) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{4, 2} +} + +func (x *ReadFeatureValuesResponse_EntityView) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *ReadFeatureValuesResponse_EntityView) GetData() []*ReadFeatureValuesResponse_EntityView_Data { + if x != nil { + return x.Data + } + return nil +} + +// Container to hold value(s), successive in time, for one Feature from the +// request. +type ReadFeatureValuesResponse_EntityView_Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Data: + // + // *ReadFeatureValuesResponse_EntityView_Data_Value + // *ReadFeatureValuesResponse_EntityView_Data_Values + Data isReadFeatureValuesResponse_EntityView_Data_Data `protobuf_oneof:"data"` +} + +func (x *ReadFeatureValuesResponse_EntityView_Data) Reset() { + *x = ReadFeatureValuesResponse_EntityView_Data{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadFeatureValuesResponse_EntityView_Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadFeatureValuesResponse_EntityView_Data) ProtoMessage() {} + +func (x *ReadFeatureValuesResponse_EntityView_Data) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[12] + 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 ReadFeatureValuesResponse_EntityView_Data.ProtoReflect.Descriptor instead. +func (*ReadFeatureValuesResponse_EntityView_Data) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{4, 2, 0} +} + +func (m *ReadFeatureValuesResponse_EntityView_Data) GetData() isReadFeatureValuesResponse_EntityView_Data_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *ReadFeatureValuesResponse_EntityView_Data) GetValue() *FeatureValue { + if x, ok := x.GetData().(*ReadFeatureValuesResponse_EntityView_Data_Value); ok { + return x.Value + } + return nil +} + +func (x *ReadFeatureValuesResponse_EntityView_Data) GetValues() *FeatureValueList { + if x, ok := x.GetData().(*ReadFeatureValuesResponse_EntityView_Data_Values); ok { + return x.Values + } + return nil +} + +type isReadFeatureValuesResponse_EntityView_Data_Data interface { + isReadFeatureValuesResponse_EntityView_Data_Data() +} + +type ReadFeatureValuesResponse_EntityView_Data_Value struct { + // Feature value if a single value is requested. + Value *FeatureValue `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type ReadFeatureValuesResponse_EntityView_Data_Values struct { + // Feature values list if values, successive in time, are requested. + // If the requested number of values is greater than the number of + // existing Feature values, nonexistent values are omitted instead of + // being returned as empty. + Values *FeatureValueList `protobuf:"bytes,2,opt,name=values,proto3,oneof"` +} + +func (*ReadFeatureValuesResponse_EntityView_Data_Value) isReadFeatureValuesResponse_EntityView_Data_Data() { +} + +func (*ReadFeatureValuesResponse_EntityView_Data_Values) isReadFeatureValuesResponse_EntityView_Data_Data() { +} + +// Metadata of feature value. +type FeatureValue_Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Feature generation timestamp. Typically, it is provided by user at + // feature ingestion time. If not, feature store + // will use the system timestamp when the data is ingested into feature + // store. For streaming ingestion, the time, aligned by days, must be no + // older than five years (1825 days) and no later than one year (366 days) + // in the future. + GenerateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"` +} + +func (x *FeatureValue_Metadata) Reset() { + *x = FeatureValue_Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureValue_Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureValue_Metadata) ProtoMessage() {} + +func (x *FeatureValue_Metadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[13] + 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 FeatureValue_Metadata.ProtoReflect.Descriptor instead. +func (*FeatureValue_Metadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *FeatureValue_Metadata) GetGenerateTime() *timestamp.Timestamp { + if x != nil { + return x.GenerateTime + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDesc = []byte{ + 0x0a, 0x42, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 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, 0x22, 0xc8, 0x01, 0x0a, 0x19, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, + 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x22, 0xab, 0x02, 0x0a, + 0x19, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x7a, 0x0a, 0x0e, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x70, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1c, 0x0a, 0x1a, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x61, + 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x90, 0x06, 0x0a, 0x19, 0x52, 0x65, + 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x56, 0x69, 0x65, 0x77, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x56, 0x69, 0x65, 0x77, 0x1a, 0x23, 0x0a, 0x11, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x1a, 0xd4, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x29, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x7e, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0xb1, 0x02, 0x0a, 0x0a, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xa4, 0x01, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf9, 0x01, 0x0a, + 0x21, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, + 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xdd, 0x05, 0x0a, 0x0c, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, + 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x5d, 0x0a, 0x12, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x10, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x5a, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x4b, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, + 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x01, 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, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, 0x10, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x32, 0xb1, 0x07, 0x0a, 0x20, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x84, 0x02, 0x0a, 0x11, 0x52, 0x65, + 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, + 0x22, 0x5d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, + 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, + 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x12, 0xa1, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x22, 0x66, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x30, 0x01, 0x12, 0x92, 0x02, 0x0a, 0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, + 0x5e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, + 0x01, 0x2a, 0xda, 0x41, 0x14, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x2c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xf6, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x1e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_goTypes = []interface{}{ + (*WriteFeatureValuesRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesRequest + (*WriteFeatureValuesPayload)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload + (*WriteFeatureValuesResponse)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesResponse + (*ReadFeatureValuesRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest + (*ReadFeatureValuesResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse + (*StreamingReadFeatureValuesRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.StreamingReadFeatureValuesRequest + (*FeatureValue)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureValue + (*FeatureValueList)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureValueList + nil, // 8: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload.FeatureValuesEntry + (*ReadFeatureValuesResponse_FeatureDescriptor)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.FeatureDescriptor + (*ReadFeatureValuesResponse_Header)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.Header + (*ReadFeatureValuesResponse_EntityView)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView + (*ReadFeatureValuesResponse_EntityView_Data)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.Data + (*FeatureValue_Metadata)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.Metadata + (*FeatureSelector)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + (*BoolArray)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.BoolArray + (*DoubleArray)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.DoubleArray + (*Int64Array)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.Int64Array + (*StringArray)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.StringArray + (*timestamp.Timestamp)(nil), // 19: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesRequest.payloads:type_name -> mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload + 8, // 1: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload.feature_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload.FeatureValuesEntry + 14, // 2: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest.feature_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + 10, // 3: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.header:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.Header + 11, // 4: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.entity_view:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView + 14, // 5: mockgcp.cloud.aiplatform.v1beta1.StreamingReadFeatureValuesRequest.feature_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + 15, // 6: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.bool_array_value:type_name -> mockgcp.cloud.aiplatform.v1beta1.BoolArray + 16, // 7: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.double_array_value:type_name -> mockgcp.cloud.aiplatform.v1beta1.DoubleArray + 17, // 8: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.int64_array_value:type_name -> mockgcp.cloud.aiplatform.v1beta1.Int64Array + 18, // 9: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.string_array_value:type_name -> mockgcp.cloud.aiplatform.v1beta1.StringArray + 13, // 10: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValue.Metadata + 6, // 11: mockgcp.cloud.aiplatform.v1beta1.FeatureValueList.values:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValue + 6, // 12: mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesPayload.FeatureValuesEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValue + 9, // 13: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.Header.feature_descriptors:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.FeatureDescriptor + 12, // 14: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.data:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.Data + 6, // 15: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.Data.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValue + 7, // 16: mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse.EntityView.Data.values:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValueList + 19, // 17: mockgcp.cloud.aiplatform.v1beta1.FeatureValue.Metadata.generate_time:type_name -> google.protobuf.Timestamp + 3, // 18: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesRequest + 5, // 19: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.StreamingReadFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingReadFeatureValuesRequest + 0, // 20: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.WriteFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesRequest + 4, // 21: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.ReadFeatureValues:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse + 4, // 22: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.StreamingReadFeatureValues:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadFeatureValuesResponse + 2, // 23: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService.WriteFeatureValues:output_type -> mockgcp.cloud.aiplatform.v1beta1.WriteFeatureValuesResponse + 21, // [21:24] is the sub-list for method output_type + 18, // [18:21] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteFeatureValuesPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingReadFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureValueList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesResponse_FeatureDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesResponse_Header); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesResponse_EntityView); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadFeatureValuesResponse_EntityView_Data); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureValue_Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*FeatureValue_BoolValue)(nil), + (*FeatureValue_DoubleValue)(nil), + (*FeatureValue_Int64Value)(nil), + (*FeatureValue_StringValue)(nil), + (*FeatureValue_BoolArrayValue)(nil), + (*FeatureValue_DoubleArrayValue)(nil), + (*FeatureValue_Int64ArrayValue)(nil), + (*FeatureValue_StringArrayValue)(nil), + (*FeatureValue_BytesValue)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*ReadFeatureValuesResponse_EntityView_Data_Value)(nil), + (*ReadFeatureValuesResponse_EntityView_Data_Values)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_online_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.gw.go new file mode 100644 index 0000000000..9f479c7bc5 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.pb.gw.go @@ -0,0 +1,399 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_FeaturestoreOnlineServingService_ReadFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreOnlineServingServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := client.ReadFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreOnlineServingService_ReadFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreOnlineServingServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := server.ReadFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreOnlineServingServiceClient, req *http.Request, pathParams map[string]string) (FeaturestoreOnlineServingService_StreamingReadFeatureValuesClient, runtime.ServerMetadata, error) { + var protoReq StreamingReadFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + stream, err := client.StreamingReadFeatureValues(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_FeaturestoreOnlineServingService_WriteFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreOnlineServingServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := client.WriteFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreOnlineServingService_WriteFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreOnlineServingServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := server.WriteFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterFeaturestoreOnlineServingServiceHandlerServer registers the http handlers for service FeaturestoreOnlineServingService to "mux". +// UnaryRPC :call FeaturestoreOnlineServingServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterFeaturestoreOnlineServingServiceHandlerFromEndpoint instead. +func RegisterFeaturestoreOnlineServingServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server FeaturestoreOnlineServingServiceServer) error { + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_ReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/ReadFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:readFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreOnlineServingService_ReadFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreOnlineServingService_ReadFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_WriteFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/WriteFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:writeFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreOnlineServingService_WriteFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreOnlineServingService_WriteFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterFeaturestoreOnlineServingServiceHandlerFromEndpoint is same as RegisterFeaturestoreOnlineServingServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterFeaturestoreOnlineServingServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterFeaturestoreOnlineServingServiceHandler(ctx, mux, conn) +} + +// RegisterFeaturestoreOnlineServingServiceHandler registers the http handlers for service FeaturestoreOnlineServingService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterFeaturestoreOnlineServingServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterFeaturestoreOnlineServingServiceHandlerClient(ctx, mux, NewFeaturestoreOnlineServingServiceClient(conn)) +} + +// RegisterFeaturestoreOnlineServingServiceHandlerClient registers the http handlers for service FeaturestoreOnlineServingService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "FeaturestoreOnlineServingServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "FeaturestoreOnlineServingServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "FeaturestoreOnlineServingServiceClient" to call the correct interceptors. +func RegisterFeaturestoreOnlineServingServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client FeaturestoreOnlineServingServiceClient) error { + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_ReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/ReadFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:readFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreOnlineServingService_ReadFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreOnlineServingService_ReadFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/StreamingReadFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:streamingReadFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreOnlineServingService_WriteFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/WriteFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:writeFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreOnlineServingService_WriteFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreOnlineServingService_WriteFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_FeaturestoreOnlineServingService_ReadFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "readFeatureValues")) + + pattern_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "streamingReadFeatureValues")) + + pattern_FeaturestoreOnlineServingService_WriteFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "writeFeatureValues")) +) + +var ( + forward_FeaturestoreOnlineServingService_ReadFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreOnlineServingService_StreamingReadFeatureValues_0 = runtime.ForwardResponseStream + + forward_FeaturestoreOnlineServingService_WriteFeatureValues_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service_grpc.pb.go new file mode 100644 index 0000000000..8467cb81b8 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service_grpc.pb.go @@ -0,0 +1,228 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.proto + +package aiplatformpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FeaturestoreOnlineServingServiceClient is the client API for FeaturestoreOnlineServingService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FeaturestoreOnlineServingServiceClient interface { + // Reads Feature values of a specific entity of an EntityType. For reading + // feature values of multiple entities of an EntityType, please use + // StreamingReadFeatureValues. + ReadFeatureValues(ctx context.Context, in *ReadFeatureValuesRequest, opts ...grpc.CallOption) (*ReadFeatureValuesResponse, error) + // Reads Feature values for multiple entities. Depending on their size, data + // for different entities may be broken + // up across multiple responses. + StreamingReadFeatureValues(ctx context.Context, in *StreamingReadFeatureValuesRequest, opts ...grpc.CallOption) (FeaturestoreOnlineServingService_StreamingReadFeatureValuesClient, error) + // Writes Feature values of one or more entities of an EntityType. + // + // The Feature values are merged into existing entities if any. The Feature + // values to be written must have timestamp within the online storage + // retention. + WriteFeatureValues(ctx context.Context, in *WriteFeatureValuesRequest, opts ...grpc.CallOption) (*WriteFeatureValuesResponse, error) +} + +type featurestoreOnlineServingServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFeaturestoreOnlineServingServiceClient(cc grpc.ClientConnInterface) FeaturestoreOnlineServingServiceClient { + return &featurestoreOnlineServingServiceClient{cc} +} + +func (c *featurestoreOnlineServingServiceClient) ReadFeatureValues(ctx context.Context, in *ReadFeatureValuesRequest, opts ...grpc.CallOption) (*ReadFeatureValuesResponse, error) { + out := new(ReadFeatureValuesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/ReadFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreOnlineServingServiceClient) StreamingReadFeatureValues(ctx context.Context, in *StreamingReadFeatureValuesRequest, opts ...grpc.CallOption) (FeaturestoreOnlineServingService_StreamingReadFeatureValuesClient, error) { + stream, err := c.cc.NewStream(ctx, &FeaturestoreOnlineServingService_ServiceDesc.Streams[0], "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/StreamingReadFeatureValues", opts...) + if err != nil { + return nil, err + } + x := &featurestoreOnlineServingServiceStreamingReadFeatureValuesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type FeaturestoreOnlineServingService_StreamingReadFeatureValuesClient interface { + Recv() (*ReadFeatureValuesResponse, error) + grpc.ClientStream +} + +type featurestoreOnlineServingServiceStreamingReadFeatureValuesClient struct { + grpc.ClientStream +} + +func (x *featurestoreOnlineServingServiceStreamingReadFeatureValuesClient) Recv() (*ReadFeatureValuesResponse, error) { + m := new(ReadFeatureValuesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *featurestoreOnlineServingServiceClient) WriteFeatureValues(ctx context.Context, in *WriteFeatureValuesRequest, opts ...grpc.CallOption) (*WriteFeatureValuesResponse, error) { + out := new(WriteFeatureValuesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/WriteFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FeaturestoreOnlineServingServiceServer is the server API for FeaturestoreOnlineServingService service. +// All implementations must embed UnimplementedFeaturestoreOnlineServingServiceServer +// for forward compatibility +type FeaturestoreOnlineServingServiceServer interface { + // Reads Feature values of a specific entity of an EntityType. For reading + // feature values of multiple entities of an EntityType, please use + // StreamingReadFeatureValues. + ReadFeatureValues(context.Context, *ReadFeatureValuesRequest) (*ReadFeatureValuesResponse, error) + // Reads Feature values for multiple entities. Depending on their size, data + // for different entities may be broken + // up across multiple responses. + StreamingReadFeatureValues(*StreamingReadFeatureValuesRequest, FeaturestoreOnlineServingService_StreamingReadFeatureValuesServer) error + // Writes Feature values of one or more entities of an EntityType. + // + // The Feature values are merged into existing entities if any. The Feature + // values to be written must have timestamp within the online storage + // retention. + WriteFeatureValues(context.Context, *WriteFeatureValuesRequest) (*WriteFeatureValuesResponse, error) + mustEmbedUnimplementedFeaturestoreOnlineServingServiceServer() +} + +// UnimplementedFeaturestoreOnlineServingServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFeaturestoreOnlineServingServiceServer struct { +} + +func (UnimplementedFeaturestoreOnlineServingServiceServer) ReadFeatureValues(context.Context, *ReadFeatureValuesRequest) (*ReadFeatureValuesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReadFeatureValues not implemented") +} +func (UnimplementedFeaturestoreOnlineServingServiceServer) StreamingReadFeatureValues(*StreamingReadFeatureValuesRequest, FeaturestoreOnlineServingService_StreamingReadFeatureValuesServer) error { + return status.Errorf(codes.Unimplemented, "method StreamingReadFeatureValues not implemented") +} +func (UnimplementedFeaturestoreOnlineServingServiceServer) WriteFeatureValues(context.Context, *WriteFeatureValuesRequest) (*WriteFeatureValuesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteFeatureValues not implemented") +} +func (UnimplementedFeaturestoreOnlineServingServiceServer) mustEmbedUnimplementedFeaturestoreOnlineServingServiceServer() { +} + +// UnsafeFeaturestoreOnlineServingServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FeaturestoreOnlineServingServiceServer will +// result in compilation errors. +type UnsafeFeaturestoreOnlineServingServiceServer interface { + mustEmbedUnimplementedFeaturestoreOnlineServingServiceServer() +} + +func RegisterFeaturestoreOnlineServingServiceServer(s grpc.ServiceRegistrar, srv FeaturestoreOnlineServingServiceServer) { + s.RegisterService(&FeaturestoreOnlineServingService_ServiceDesc, srv) +} + +func _FeaturestoreOnlineServingService_ReadFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReadFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreOnlineServingServiceServer).ReadFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/ReadFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreOnlineServingServiceServer).ReadFeatureValues(ctx, req.(*ReadFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreOnlineServingService_StreamingReadFeatureValues_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamingReadFeatureValuesRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(FeaturestoreOnlineServingServiceServer).StreamingReadFeatureValues(m, &featurestoreOnlineServingServiceStreamingReadFeatureValuesServer{stream}) +} + +type FeaturestoreOnlineServingService_StreamingReadFeatureValuesServer interface { + Send(*ReadFeatureValuesResponse) error + grpc.ServerStream +} + +type featurestoreOnlineServingServiceStreamingReadFeatureValuesServer struct { + grpc.ServerStream +} + +func (x *featurestoreOnlineServingServiceStreamingReadFeatureValuesServer) Send(m *ReadFeatureValuesResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _FeaturestoreOnlineServingService_WriteFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreOnlineServingServiceServer).WriteFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService/WriteFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreOnlineServingServiceServer).WriteFeatureValues(ctx, req.(*WriteFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FeaturestoreOnlineServingService_ServiceDesc is the grpc.ServiceDesc for FeaturestoreOnlineServingService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FeaturestoreOnlineServingService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.FeaturestoreOnlineServingService", + HandlerType: (*FeaturestoreOnlineServingServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ReadFeatureValues", + Handler: _FeaturestoreOnlineServingService_ReadFeatureValues_Handler, + }, + { + MethodName: "WriteFeatureValues", + Handler: _FeaturestoreOnlineServingService_WriteFeatureValues_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamingReadFeatureValues", + Handler: _FeaturestoreOnlineServingService_StreamingReadFeatureValues_Handler, + ServerStreams: true, + }, + }, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/featurestore_online_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.go new file mode 100644 index 0000000000..319c9ac018 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.go @@ -0,0 +1,5912 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + interval "google.golang.org/genproto/googleapis/type/interval" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [FeaturestoreService.CreateFeaturestore][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore]. +type CreateFeaturestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create Featurestores. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Featurestore to create. + Featurestore *Featurestore `protobuf:"bytes,2,opt,name=featurestore,proto3" json:"featurestore,omitempty"` + // Required. The ID to use for this Featurestore, which will become the final + // component of the Featurestore's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within the project and location. + FeaturestoreId string `protobuf:"bytes,3,opt,name=featurestore_id,json=featurestoreId,proto3" json:"featurestore_id,omitempty"` +} + +func (x *CreateFeaturestoreRequest) Reset() { + *x = CreateFeaturestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeaturestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeaturestoreRequest) ProtoMessage() {} + +func (x *CreateFeaturestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[0] + 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 CreateFeaturestoreRequest.ProtoReflect.Descriptor instead. +func (*CreateFeaturestoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateFeaturestoreRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateFeaturestoreRequest) GetFeaturestore() *Featurestore { + if x != nil { + return x.Featurestore + } + return nil +} + +func (x *CreateFeaturestoreRequest) GetFeaturestoreId() string { + if x != nil { + return x.FeaturestoreId + } + return "" +} + +// Request message for +// [FeaturestoreService.GetFeaturestore][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore]. +type GetFeaturestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Featurestore resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeaturestoreRequest) Reset() { + *x = GetFeaturestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeaturestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeaturestoreRequest) ProtoMessage() {} + +func (x *GetFeaturestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[1] + 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 GetFeaturestoreRequest.ProtoReflect.Descriptor instead. +func (*GetFeaturestoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetFeaturestoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeaturestoreService.ListFeaturestores][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores]. +type ListFeaturestoresRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list Featurestores. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the featurestores that match the filter expression. The following + // fields are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be + // + // in RFC 3339 format. + // + // * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `<`, `>`, + // `<=`, and `>=` comparisons. + // * `labels`: Supports key-value equality and key presence. + // + // Examples: + // + // - `create_time > "2020-01-01" OR update_time > "2020-01-01"` + // Featurestores created or updated after 2020-01-01. + // - `labels.env = "prod"` + // Featurestores with label "env" set to "prod". + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of Featurestores to return. The service may return fewer + // than this value. If unspecified, at most 100 Featurestores will be + // returned. The maximum value is 100; any value greater than 100 will be + // coerced to 100. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeaturestoreService.ListFeaturestores][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListFeaturestores][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported Fields: + // + // - `create_time` + // - `update_time` + // - `online_serving_config.fixed_node_count` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListFeaturestoresRequest) Reset() { + *x = ListFeaturestoresRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeaturestoresRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeaturestoresRequest) ProtoMessage() {} + +func (x *ListFeaturestoresRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_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 ListFeaturestoresRequest.ProtoReflect.Descriptor instead. +func (*ListFeaturestoresRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListFeaturestoresRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeaturestoresRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeaturestoresRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeaturestoresRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeaturestoresRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListFeaturestoresRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [FeaturestoreService.ListFeaturestores][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores]. +type ListFeaturestoresResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Featurestores matching the request. + Featurestores []*Featurestore `protobuf:"bytes,1,rep,name=featurestores,proto3" json:"featurestores,omitempty"` + // A token, which can be sent as + // [ListFeaturestoresRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeaturestoresResponse) Reset() { + *x = ListFeaturestoresResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeaturestoresResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeaturestoresResponse) ProtoMessage() {} + +func (x *ListFeaturestoresResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[3] + 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 ListFeaturestoresResponse.ProtoReflect.Descriptor instead. +func (*ListFeaturestoresResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListFeaturestoresResponse) GetFeaturestores() []*Featurestore { + if x != nil { + return x.Featurestores + } + return nil +} + +func (x *ListFeaturestoresResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeaturestoreService.UpdateFeaturestore][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore]. +type UpdateFeaturestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Featurestore's `name` field is used to identify the + // Featurestore to be updated. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Featurestore *Featurestore `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // Featurestore resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `labels` + // - `online_serving_config.fixed_node_count` + // - `online_serving_config.scaling` + // - `online_storage_ttl_days` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateFeaturestoreRequest) Reset() { + *x = UpdateFeaturestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeaturestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeaturestoreRequest) ProtoMessage() {} + +func (x *UpdateFeaturestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[4] + 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 UpdateFeaturestoreRequest.ProtoReflect.Descriptor instead. +func (*UpdateFeaturestoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateFeaturestoreRequest) GetFeaturestore() *Featurestore { + if x != nil { + return x.Featurestore + } + return nil +} + +func (x *UpdateFeaturestoreRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [FeaturestoreService.DeleteFeaturestore][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore]. +type DeleteFeaturestoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Featurestore to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set to true, any EntityTypes and Features for this Featurestore will + // also be deleted. (Otherwise, the request will only work if the Featurestore + // has no EntityTypes.) + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteFeaturestoreRequest) Reset() { + *x = DeleteFeaturestoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeaturestoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeaturestoreRequest) ProtoMessage() {} + +func (x *DeleteFeaturestoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[5] + 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 DeleteFeaturestoreRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeaturestoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteFeaturestoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteFeaturestoreRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for +// [FeaturestoreService.ImportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]. +type ImportFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Details about the source data, including the location of the storage and + // the format. + // + // Types that are assignable to Source: + // + // *ImportFeatureValuesRequest_AvroSource + // *ImportFeatureValuesRequest_BigquerySource + // *ImportFeatureValuesRequest_CsvSource + Source isImportFeatureValuesRequest_Source `protobuf_oneof:"source"` + // Source of Feature timestamp for all Feature values of each entity. + // Timestamps must be millisecond-aligned. + // + // Types that are assignable to FeatureTimeSource: + // + // *ImportFeatureValuesRequest_FeatureTimeField + // *ImportFeatureValuesRequest_FeatureTime + FeatureTimeSource isImportFeatureValuesRequest_FeatureTimeSource `protobuf_oneof:"feature_time_source"` + // Required. The resource name of the EntityType grouping the Features for + // which values are being imported. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}` + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Source column that holds entity IDs. If not provided, entity IDs are + // extracted from the column named entity_id. + EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"` + // Required. Specifications defining which Feature values to import from the + // entity. The request fails if no feature_specs are provided, and having + // multiple feature_specs for one Feature is not allowed. + FeatureSpecs []*ImportFeatureValuesRequest_FeatureSpec `protobuf:"bytes,8,rep,name=feature_specs,json=featureSpecs,proto3" json:"feature_specs,omitempty"` + // If set, data will not be imported for online serving. This + // is typically used for backfilling, where Feature generation timestamps are + // not in the timestamp range needed for online serving. + DisableOnlineServing bool `protobuf:"varint,9,opt,name=disable_online_serving,json=disableOnlineServing,proto3" json:"disable_online_serving,omitempty"` + // Specifies the number of workers that are used to write data to the + // Featurestore. Consider the online serving capacity that you require to + // achieve the desired import throughput without interfering with online + // serving. The value must be positive, and less than or equal to 100. + // If not set, defaults to using 1 worker. The low count ensures minimal + // impact on online serving performance. + WorkerCount int32 `protobuf:"varint,11,opt,name=worker_count,json=workerCount,proto3" json:"worker_count,omitempty"` + // If true, API doesn't start ingestion analysis pipeline. + DisableIngestionAnalysis bool `protobuf:"varint,12,opt,name=disable_ingestion_analysis,json=disableIngestionAnalysis,proto3" json:"disable_ingestion_analysis,omitempty"` +} + +func (x *ImportFeatureValuesRequest) Reset() { + *x = ImportFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportFeatureValuesRequest) ProtoMessage() {} + +func (x *ImportFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_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 ImportFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*ImportFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{6} +} + +func (m *ImportFeatureValuesRequest) GetSource() isImportFeatureValuesRequest_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetAvroSource() *AvroSource { + if x, ok := x.GetSource().(*ImportFeatureValuesRequest_AvroSource); ok { + return x.AvroSource + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetBigquerySource() *BigQuerySource { + if x, ok := x.GetSource().(*ImportFeatureValuesRequest_BigquerySource); ok { + return x.BigquerySource + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetCsvSource() *CsvSource { + if x, ok := x.GetSource().(*ImportFeatureValuesRequest_CsvSource); ok { + return x.CsvSource + } + return nil +} + +func (m *ImportFeatureValuesRequest) GetFeatureTimeSource() isImportFeatureValuesRequest_FeatureTimeSource { + if m != nil { + return m.FeatureTimeSource + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetFeatureTimeField() string { + if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTimeField); ok { + return x.FeatureTimeField + } + return "" +} + +func (x *ImportFeatureValuesRequest) GetFeatureTime() *timestamp.Timestamp { + if x, ok := x.GetFeatureTimeSource().(*ImportFeatureValuesRequest_FeatureTime); ok { + return x.FeatureTime + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *ImportFeatureValuesRequest) GetEntityIdField() string { + if x != nil { + return x.EntityIdField + } + return "" +} + +func (x *ImportFeatureValuesRequest) GetFeatureSpecs() []*ImportFeatureValuesRequest_FeatureSpec { + if x != nil { + return x.FeatureSpecs + } + return nil +} + +func (x *ImportFeatureValuesRequest) GetDisableOnlineServing() bool { + if x != nil { + return x.DisableOnlineServing + } + return false +} + +func (x *ImportFeatureValuesRequest) GetWorkerCount() int32 { + if x != nil { + return x.WorkerCount + } + return 0 +} + +func (x *ImportFeatureValuesRequest) GetDisableIngestionAnalysis() bool { + if x != nil { + return x.DisableIngestionAnalysis + } + return false +} + +type isImportFeatureValuesRequest_Source interface { + isImportFeatureValuesRequest_Source() +} + +type ImportFeatureValuesRequest_AvroSource struct { + AvroSource *AvroSource `protobuf:"bytes,2,opt,name=avro_source,json=avroSource,proto3,oneof"` +} + +type ImportFeatureValuesRequest_BigquerySource struct { + BigquerySource *BigQuerySource `protobuf:"bytes,3,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"` +} + +type ImportFeatureValuesRequest_CsvSource struct { + CsvSource *CsvSource `protobuf:"bytes,4,opt,name=csv_source,json=csvSource,proto3,oneof"` +} + +func (*ImportFeatureValuesRequest_AvroSource) isImportFeatureValuesRequest_Source() {} + +func (*ImportFeatureValuesRequest_BigquerySource) isImportFeatureValuesRequest_Source() {} + +func (*ImportFeatureValuesRequest_CsvSource) isImportFeatureValuesRequest_Source() {} + +type isImportFeatureValuesRequest_FeatureTimeSource interface { + isImportFeatureValuesRequest_FeatureTimeSource() +} + +type ImportFeatureValuesRequest_FeatureTimeField struct { + // Source column that holds the Feature timestamp for all Feature + // values in each entity. + FeatureTimeField string `protobuf:"bytes,6,opt,name=feature_time_field,json=featureTimeField,proto3,oneof"` +} + +type ImportFeatureValuesRequest_FeatureTime struct { + // Single Feature timestamp for all entities being imported. The + // timestamp must not have higher than millisecond precision. + FeatureTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=feature_time,json=featureTime,proto3,oneof"` +} + +func (*ImportFeatureValuesRequest_FeatureTimeField) isImportFeatureValuesRequest_FeatureTimeSource() { +} + +func (*ImportFeatureValuesRequest_FeatureTime) isImportFeatureValuesRequest_FeatureTimeSource() {} + +// Response message for +// [FeaturestoreService.ImportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]. +type ImportFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of entities that have been imported by the operation. + ImportedEntityCount int64 `protobuf:"varint,1,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"` + // Number of Feature values that have been imported by the operation. + ImportedFeatureValueCount int64 `protobuf:"varint,2,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"` + // The number of rows in input source that weren't imported due to either + // * Not having any featureValues. + // * Having a null entityId. + // * Having a null timestamp. + // * Not being parsable (applicable for CSV sources). + InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"` + // The number rows that weren't ingested due to having feature timestamps + // outside the retention boundary. + TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,4,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"` +} + +func (x *ImportFeatureValuesResponse) Reset() { + *x = ImportFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportFeatureValuesResponse) ProtoMessage() {} + +func (x *ImportFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[7] + 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 ImportFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*ImportFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ImportFeatureValuesResponse) GetImportedEntityCount() int64 { + if x != nil { + return x.ImportedEntityCount + } + return 0 +} + +func (x *ImportFeatureValuesResponse) GetImportedFeatureValueCount() int64 { + if x != nil { + return x.ImportedFeatureValueCount + } + return 0 +} + +func (x *ImportFeatureValuesResponse) GetInvalidRowCount() int64 { + if x != nil { + return x.InvalidRowCount + } + return 0 +} + +func (x *ImportFeatureValuesResponse) GetTimestampOutsideRetentionRowsCount() int64 { + if x != nil { + return x.TimestampOutsideRetentionRowsCount + } + return 0 +} + +// Request message for +// [FeaturestoreService.BatchReadFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues]. +type BatchReadFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ReadOption: + // + // *BatchReadFeatureValuesRequest_CsvReadInstances + // *BatchReadFeatureValuesRequest_BigqueryReadInstances + ReadOption isBatchReadFeatureValuesRequest_ReadOption `protobuf_oneof:"read_option"` + // Required. The resource name of the Featurestore from which to query Feature + // values. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Featurestore string `protobuf:"bytes,1,opt,name=featurestore,proto3" json:"featurestore,omitempty"` + // Required. Specifies output location and format. + Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"` + // When not empty, the specified fields in the *_read_instances source will be + // joined as-is in the output, in addition to those fields from the + // Featurestore Entity. + // + // For BigQuery source, the type of the pass-through values will be + // automatically inferred. For CSV source, the pass-through values will be + // passed as opaque bytes. + PassThroughFields []*BatchReadFeatureValuesRequest_PassThroughField `protobuf:"bytes,8,rep,name=pass_through_fields,json=passThroughFields,proto3" json:"pass_through_fields,omitempty"` + // Required. Specifies EntityType grouping Features to read values of and + // settings. + EntityTypeSpecs []*BatchReadFeatureValuesRequest_EntityTypeSpec `protobuf:"bytes,7,rep,name=entity_type_specs,json=entityTypeSpecs,proto3" json:"entity_type_specs,omitempty"` + // Optional. Excludes Feature values with feature generation timestamp before + // this timestamp. If not set, retrieve oldest values kept in Feature Store. + // Timestamp, if present, must not have higher than millisecond precision. + StartTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` +} + +func (x *BatchReadFeatureValuesRequest) Reset() { + *x = BatchReadFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadFeatureValuesRequest) ProtoMessage() {} + +func (x *BatchReadFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_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 BatchReadFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*BatchReadFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8} +} + +func (m *BatchReadFeatureValuesRequest) GetReadOption() isBatchReadFeatureValuesRequest_ReadOption { + if m != nil { + return m.ReadOption + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetCsvReadInstances() *CsvSource { + if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_CsvReadInstances); ok { + return x.CsvReadInstances + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetBigqueryReadInstances() *BigQuerySource { + if x, ok := x.GetReadOption().(*BatchReadFeatureValuesRequest_BigqueryReadInstances); ok { + return x.BigqueryReadInstances + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetFeaturestore() string { + if x != nil { + return x.Featurestore + } + return "" +} + +func (x *BatchReadFeatureValuesRequest) GetDestination() *FeatureValueDestination { + if x != nil { + return x.Destination + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetPassThroughFields() []*BatchReadFeatureValuesRequest_PassThroughField { + if x != nil { + return x.PassThroughFields + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetEntityTypeSpecs() []*BatchReadFeatureValuesRequest_EntityTypeSpec { + if x != nil { + return x.EntityTypeSpecs + } + return nil +} + +func (x *BatchReadFeatureValuesRequest) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +type isBatchReadFeatureValuesRequest_ReadOption interface { + isBatchReadFeatureValuesRequest_ReadOption() +} + +type BatchReadFeatureValuesRequest_CsvReadInstances struct { + // Each read instance consists of exactly one read timestamp and one or more + // entity IDs identifying entities of the corresponding EntityTypes whose + // Features are requested. + // + // Each output instance contains Feature values of requested entities + // concatenated together as of the read time. + // + // An example read instance may be `foo_entity_id, bar_entity_id, + // 2020-01-01T10:00:00.123Z`. + // + // An example output instance may be `foo_entity_id, bar_entity_id, + // 2020-01-01T10:00:00.123Z, foo_entity_feature1_value, + // bar_entity_feature2_value`. + // + // Timestamp in each read instance must be millisecond-aligned. + // + // `csv_read_instances` are read instances stored in a plain-text CSV file. + // The header should be: + // + // [ENTITY_TYPE_ID1], [ENTITY_TYPE_ID2], ..., timestamp + // + // The columns can be in any order. + // + // Values in the timestamp column must use the RFC 3339 format, e.g. + // `2012-07-30T10:43:17.123Z`. + CsvReadInstances *CsvSource `protobuf:"bytes,3,opt,name=csv_read_instances,json=csvReadInstances,proto3,oneof"` +} + +type BatchReadFeatureValuesRequest_BigqueryReadInstances struct { + // Similar to csv_read_instances, but from BigQuery source. + BigqueryReadInstances *BigQuerySource `protobuf:"bytes,5,opt,name=bigquery_read_instances,json=bigqueryReadInstances,proto3,oneof"` +} + +func (*BatchReadFeatureValuesRequest_CsvReadInstances) isBatchReadFeatureValuesRequest_ReadOption() {} + +func (*BatchReadFeatureValuesRequest_BigqueryReadInstances) isBatchReadFeatureValuesRequest_ReadOption() { +} + +// Request message for +// [FeaturestoreService.ExportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues]. +type ExportFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The mode in which Feature values are exported. + // + // Types that are assignable to Mode: + // + // *ExportFeatureValuesRequest_SnapshotExport_ + // *ExportFeatureValuesRequest_FullExport_ + Mode isExportFeatureValuesRequest_Mode `protobuf_oneof:"mode"` + // Required. The resource name of the EntityType from which to export Feature + // values. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Required. Specifies destination location and format. + Destination *FeatureValueDestination `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"` + // Required. Selects Features to export values of. + FeatureSelector *FeatureSelector `protobuf:"bytes,5,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"` + // Per-Feature export settings. + Settings []*DestinationFeatureSetting `protobuf:"bytes,6,rep,name=settings,proto3" json:"settings,omitempty"` +} + +func (x *ExportFeatureValuesRequest) Reset() { + *x = ExportFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFeatureValuesRequest) ProtoMessage() {} + +func (x *ExportFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9] + 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 ExportFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*ExportFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9} +} + +func (m *ExportFeatureValuesRequest) GetMode() isExportFeatureValuesRequest_Mode { + if m != nil { + return m.Mode + } + return nil +} + +func (x *ExportFeatureValuesRequest) GetSnapshotExport() *ExportFeatureValuesRequest_SnapshotExport { + if x, ok := x.GetMode().(*ExportFeatureValuesRequest_SnapshotExport_); ok { + return x.SnapshotExport + } + return nil +} + +func (x *ExportFeatureValuesRequest) GetFullExport() *ExportFeatureValuesRequest_FullExport { + if x, ok := x.GetMode().(*ExportFeatureValuesRequest_FullExport_); ok { + return x.FullExport + } + return nil +} + +func (x *ExportFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +func (x *ExportFeatureValuesRequest) GetDestination() *FeatureValueDestination { + if x != nil { + return x.Destination + } + return nil +} + +func (x *ExportFeatureValuesRequest) GetFeatureSelector() *FeatureSelector { + if x != nil { + return x.FeatureSelector + } + return nil +} + +func (x *ExportFeatureValuesRequest) GetSettings() []*DestinationFeatureSetting { + if x != nil { + return x.Settings + } + return nil +} + +type isExportFeatureValuesRequest_Mode interface { + isExportFeatureValuesRequest_Mode() +} + +type ExportFeatureValuesRequest_SnapshotExport_ struct { + // Exports the latest Feature values of all entities of the EntityType + // within a time range. + SnapshotExport *ExportFeatureValuesRequest_SnapshotExport `protobuf:"bytes,3,opt,name=snapshot_export,json=snapshotExport,proto3,oneof"` +} + +type ExportFeatureValuesRequest_FullExport_ struct { + // Exports all historical values of all entities of the EntityType within a + // time range + FullExport *ExportFeatureValuesRequest_FullExport `protobuf:"bytes,7,opt,name=full_export,json=fullExport,proto3,oneof"` +} + +func (*ExportFeatureValuesRequest_SnapshotExport_) isExportFeatureValuesRequest_Mode() {} + +func (*ExportFeatureValuesRequest_FullExport_) isExportFeatureValuesRequest_Mode() {} + +type DestinationFeatureSetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of the Feature to apply the setting to. + FeatureId string `protobuf:"bytes,1,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"` + // Specify the field name in the export destination. If not specified, + // Feature ID is used. + DestinationField string `protobuf:"bytes,2,opt,name=destination_field,json=destinationField,proto3" json:"destination_field,omitempty"` +} + +func (x *DestinationFeatureSetting) Reset() { + *x = DestinationFeatureSetting{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DestinationFeatureSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DestinationFeatureSetting) ProtoMessage() {} + +func (x *DestinationFeatureSetting) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[10] + 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 DestinationFeatureSetting.ProtoReflect.Descriptor instead. +func (*DestinationFeatureSetting) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{10} +} + +func (x *DestinationFeatureSetting) GetFeatureId() string { + if x != nil { + return x.FeatureId + } + return "" +} + +func (x *DestinationFeatureSetting) GetDestinationField() string { + if x != nil { + return x.DestinationField + } + return "" +} + +// A destination location for Feature values and format. +type FeatureValueDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Destination: + // + // *FeatureValueDestination_BigqueryDestination + // *FeatureValueDestination_TfrecordDestination + // *FeatureValueDestination_CsvDestination + Destination isFeatureValueDestination_Destination `protobuf_oneof:"destination"` +} + +func (x *FeatureValueDestination) Reset() { + *x = FeatureValueDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureValueDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureValueDestination) ProtoMessage() {} + +func (x *FeatureValueDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11] + 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 FeatureValueDestination.ProtoReflect.Descriptor instead. +func (*FeatureValueDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{11} +} + +func (m *FeatureValueDestination) GetDestination() isFeatureValueDestination_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *FeatureValueDestination) GetBigqueryDestination() *BigQueryDestination { + if x, ok := x.GetDestination().(*FeatureValueDestination_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +func (x *FeatureValueDestination) GetTfrecordDestination() *TFRecordDestination { + if x, ok := x.GetDestination().(*FeatureValueDestination_TfrecordDestination); ok { + return x.TfrecordDestination + } + return nil +} + +func (x *FeatureValueDestination) GetCsvDestination() *CsvDestination { + if x, ok := x.GetDestination().(*FeatureValueDestination_CsvDestination); ok { + return x.CsvDestination + } + return nil +} + +type isFeatureValueDestination_Destination interface { + isFeatureValueDestination_Destination() +} + +type FeatureValueDestination_BigqueryDestination struct { + // Output in BigQuery format. + // [BigQueryDestination.output_uri][mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination.output_uri] + // in + // [FeatureValueDestination.bigquery_destination][mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination] + // must refer to a table. + BigqueryDestination *BigQueryDestination `protobuf:"bytes,1,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +type FeatureValueDestination_TfrecordDestination struct { + // Output in TFRecord format. + // + // Below are the mapping from Feature value type + // in Featurestore to Feature value type in TFRecord: + // + // Value type in Featurestore | Value type in TFRecord + // DOUBLE, DOUBLE_ARRAY | FLOAT_LIST + // INT64, INT64_ARRAY | INT64_LIST + // STRING, STRING_ARRAY, BYTES | BYTES_LIST + // true -> byte_string("true"), false -> byte_string("false") + // BOOL, BOOL_ARRAY (true, false) | BYTES_LIST + TfrecordDestination *TFRecordDestination `protobuf:"bytes,2,opt,name=tfrecord_destination,json=tfrecordDestination,proto3,oneof"` +} + +type FeatureValueDestination_CsvDestination struct { + // Output in CSV format. Array Feature value types are not allowed in CSV + // format. + CsvDestination *CsvDestination `protobuf:"bytes,3,opt,name=csv_destination,json=csvDestination,proto3,oneof"` +} + +func (*FeatureValueDestination_BigqueryDestination) isFeatureValueDestination_Destination() {} + +func (*FeatureValueDestination_TfrecordDestination) isFeatureValueDestination_Destination() {} + +func (*FeatureValueDestination_CsvDestination) isFeatureValueDestination_Destination() {} + +// Response message for +// [FeaturestoreService.ExportFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues]. +type ExportFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExportFeatureValuesResponse) Reset() { + *x = ExportFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFeatureValuesResponse) ProtoMessage() {} + +func (x *ExportFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[12] + 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 ExportFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*ExportFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{12} +} + +// Response message for +// [FeaturestoreService.BatchReadFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues]. +type BatchReadFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BatchReadFeatureValuesResponse) Reset() { + *x = BatchReadFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadFeatureValuesResponse) ProtoMessage() {} + +func (x *BatchReadFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[13] + 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 BatchReadFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*BatchReadFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{13} +} + +// Request message for +// [FeaturestoreService.CreateEntityType][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType]. +type CreateEntityTypeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Featurestore to create EntityTypes. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The EntityType to create. + EntityType *EntityType `protobuf:"bytes,2,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Required. The ID to use for the EntityType, which will become the final + // component of the EntityType's resource name. + // + // This value may be up to 60 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within a featurestore. + EntityTypeId string `protobuf:"bytes,3,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"` +} + +func (x *CreateEntityTypeRequest) Reset() { + *x = CreateEntityTypeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEntityTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEntityTypeRequest) ProtoMessage() {} + +func (x *CreateEntityTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[14] + 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 CreateEntityTypeRequest.ProtoReflect.Descriptor instead. +func (*CreateEntityTypeRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateEntityTypeRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEntityTypeRequest) GetEntityType() *EntityType { + if x != nil { + return x.EntityType + } + return nil +} + +func (x *CreateEntityTypeRequest) GetEntityTypeId() string { + if x != nil { + return x.EntityTypeId + } + return "" +} + +// Request message for +// [FeaturestoreService.GetEntityType][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType]. +type GetEntityTypeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the EntityType resource. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEntityTypeRequest) Reset() { + *x = GetEntityTypeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEntityTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEntityTypeRequest) ProtoMessage() {} + +func (x *GetEntityTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_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 GetEntityTypeRequest.ProtoReflect.Descriptor instead. +func (*GetEntityTypeRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{15} +} + +func (x *GetEntityTypeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeaturestoreService.ListEntityTypes][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes]. +type ListEntityTypesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Featurestore to list EntityTypes. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the EntityTypes that match the filter expression. The following + // filters are supported: + // + // * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `update_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=` comparisons. + // Values must be in RFC 3339 format. + // * `labels`: Supports key-value equality as well as key presence. + // + // Examples: + // + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> EntityTypes having both + // (active: yes) and (env: prod) labels. + // - `labels.env: *` --> Any EntityType which has a label with 'env' as the + // key. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of EntityTypes to return. The service may return fewer + // than this value. If unspecified, at most 1000 EntityTypes will be returned. + // The maximum value is 1000; any value greater than 1000 will be coerced to + // 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeaturestoreService.ListEntityTypes][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListEntityTypes][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // + // Supported fields: + // + // - `entity_type_id` + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListEntityTypesRequest) Reset() { + *x = ListEntityTypesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEntityTypesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEntityTypesRequest) ProtoMessage() {} + +func (x *ListEntityTypesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[16] + 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 ListEntityTypesRequest.ProtoReflect.Descriptor instead. +func (*ListEntityTypesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{16} +} + +func (x *ListEntityTypesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEntityTypesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEntityTypesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEntityTypesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEntityTypesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListEntityTypesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [FeaturestoreService.ListEntityTypes][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes]. +type ListEntityTypesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The EntityTypes matching the request. + EntityTypes []*EntityType `protobuf:"bytes,1,rep,name=entity_types,json=entityTypes,proto3" json:"entity_types,omitempty"` + // A token, which can be sent as + // [ListEntityTypesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEntityTypesResponse) Reset() { + *x = ListEntityTypesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEntityTypesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEntityTypesResponse) ProtoMessage() {} + +func (x *ListEntityTypesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[17] + 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 ListEntityTypesResponse.ProtoReflect.Descriptor instead. +func (*ListEntityTypesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{17} +} + +func (x *ListEntityTypesResponse) GetEntityTypes() []*EntityType { + if x != nil { + return x.EntityTypes + } + return nil +} + +func (x *ListEntityTypesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeaturestoreService.UpdateEntityType][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType]. +type UpdateEntityTypeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The EntityType's `name` field is used to identify the EntityType + // to be updated. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + EntityType *EntityType `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // EntityType resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `description` + // - `labels` + // - `monitoring_config.snapshot_analysis.disabled` + // - `monitoring_config.snapshot_analysis.monitoring_interval_days` + // - `monitoring_config.snapshot_analysis.staleness_days` + // - `monitoring_config.import_features_analysis.state` + // - `monitoring_config.import_features_analysis.anomaly_detection_baseline` + // - `monitoring_config.numerical_threshold_config.value` + // - `monitoring_config.categorical_threshold_config.value` + // - `offline_storage_ttl_days` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateEntityTypeRequest) Reset() { + *x = UpdateEntityTypeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateEntityTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateEntityTypeRequest) ProtoMessage() {} + +func (x *UpdateEntityTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[18] + 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 UpdateEntityTypeRequest.ProtoReflect.Descriptor instead. +func (*UpdateEntityTypeRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{18} +} + +func (x *UpdateEntityTypeRequest) GetEntityType() *EntityType { + if x != nil { + return x.EntityType + } + return nil +} + +func (x *UpdateEntityTypeRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for [FeaturestoreService.DeleteEntityTypes][]. +type DeleteEntityTypeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the EntityType to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set to true, any Features for this EntityType will also be deleted. + // (Otherwise, the request will only work if the EntityType has no Features.) + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteEntityTypeRequest) Reset() { + *x = DeleteEntityTypeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEntityTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEntityTypeRequest) ProtoMessage() {} + +func (x *DeleteEntityTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[19] + 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 DeleteEntityTypeRequest.ProtoReflect.Descriptor instead. +func (*DeleteEntityTypeRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{19} +} + +func (x *DeleteEntityTypeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEntityTypeRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for +// [FeaturestoreService.CreateFeature][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature]. +// Request message for +// [FeatureRegistryService.CreateFeature][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.CreateFeature]. +type CreateFeatureRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the EntityType or FeatureGroup to create a + // Feature. Format for entity_type as parent: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + // Format for feature_group as parent: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Feature to create. + Feature *Feature `protobuf:"bytes,2,opt,name=feature,proto3" json:"feature,omitempty"` + // Required. The ID to use for the Feature, which will become the final + // component of the Feature's resource name. + // + // This value may be up to 128 characters, and valid characters are + // `[a-z0-9_]`. The first character cannot be a number. + // + // The value must be unique within an EntityType/FeatureGroup. + FeatureId string `protobuf:"bytes,3,opt,name=feature_id,json=featureId,proto3" json:"feature_id,omitempty"` +} + +func (x *CreateFeatureRequest) Reset() { + *x = CreateFeatureRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureRequest) ProtoMessage() {} + +func (x *CreateFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[20] + 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 CreateFeatureRequest.ProtoReflect.Descriptor instead. +func (*CreateFeatureRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{20} +} + +func (x *CreateFeatureRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateFeatureRequest) GetFeature() *Feature { + if x != nil { + return x.Feature + } + return nil +} + +func (x *CreateFeatureRequest) GetFeatureId() string { + if x != nil { + return x.FeatureId + } + return "" +} + +// Request message for +// [FeaturestoreService.BatchCreateFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures]. +type BatchCreateFeaturesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the EntityType to create the batch of + // Features under. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The request message specifying the Features to create. All + // Features must be created under the same parent EntityType. The `parent` + // field in each child request message can be omitted. If `parent` is set in a + // child request, then the value must match the `parent` value in this request + // message. + Requests []*CreateFeatureRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *BatchCreateFeaturesRequest) Reset() { + *x = BatchCreateFeaturesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateFeaturesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateFeaturesRequest) ProtoMessage() {} + +func (x *BatchCreateFeaturesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[21] + 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 BatchCreateFeaturesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateFeaturesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{21} +} + +func (x *BatchCreateFeaturesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateFeaturesRequest) GetRequests() []*CreateFeatureRequest { + if x != nil { + return x.Requests + } + return nil +} + +// Response message for +// [FeaturestoreService.BatchCreateFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures]. +type BatchCreateFeaturesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Features created. + Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` +} + +func (x *BatchCreateFeaturesResponse) Reset() { + *x = BatchCreateFeaturesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateFeaturesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateFeaturesResponse) ProtoMessage() {} + +func (x *BatchCreateFeaturesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[22] + 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 BatchCreateFeaturesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateFeaturesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{22} +} + +func (x *BatchCreateFeaturesResponse) GetFeatures() []*Feature { + if x != nil { + return x.Features + } + return nil +} + +// Request message for +// [FeaturestoreService.GetFeature][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature]. +// Request message for +// [FeatureRegistryService.GetFeature][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.GetFeature]. +type GetFeatureRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Feature resource. + // Format for entity_type as parent: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + // Format for feature_group as parent: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFeatureRequest) Reset() { + *x = GetFeatureRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFeatureRequest) ProtoMessage() {} + +func (x *GetFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[23] + 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 GetFeatureRequest.ProtoReflect.Descriptor instead. +func (*GetFeatureRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{23} +} + +func (x *GetFeatureRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [FeaturestoreService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures]. +// Request message for +// [FeatureRegistryService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures]. +type ListFeaturesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list Features. + // Format for entity_type as parent: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + // Format for feature_group as parent: + // `projects/{project}/locations/{location}/featureGroups/{feature_group}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the Features that match the filter expression. The following + // filters are supported: + // + // * `value_type`: Supports = and != comparisons. + // * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must + // be in RFC 3339 format. + // * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must + // be in RFC 3339 format. + // * `labels`: Supports key-value equality as well as key presence. + // + // Examples: + // + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `create_time > \"2020-01-31T15:30:00.000000Z\" OR + // update_time > \"2020-01-31T15:30:00.000000Z\"` --> EntityTypes created + // or updated after 2020-01-31T15:30:00.000000Z. + // - `labels.active = yes AND labels.env = prod` --> Features having both + // (active: yes) and (env: prod) labels. + // - `labels.env: *` --> Any Feature which has a label with 'env' as the + // key. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of Features to return. The service may return fewer + // than this value. If unspecified, at most 1000 Features will be returned. + // The maximum value is 1000; any value greater than 1000 will be coerced to + // 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeaturestoreService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures] + // call or + // [FeatureRegistryService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures] + // or + // [FeatureRegistryService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // + // - `feature_id` + // - `value_type` (Not supported for FeatureRegistry Feature) + // - `create_time` + // - `update_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Only applicable for Vertex AI Feature Store (Legacy). + // If set, return the most recent + // [ListFeaturesRequest.latest_stats_count][mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count] + // of stats for each Feature in response. Valid value is [0, 10]. If number of + // stats exists < + // [ListFeaturesRequest.latest_stats_count][mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest.latest_stats_count], + // return all existing stats. + LatestStatsCount int32 `protobuf:"varint,7,opt,name=latest_stats_count,json=latestStatsCount,proto3" json:"latest_stats_count,omitempty"` +} + +func (x *ListFeaturesRequest) Reset() { + *x = ListFeaturesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeaturesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeaturesRequest) ProtoMessage() {} + +func (x *ListFeaturesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[24] + 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 ListFeaturesRequest.ProtoReflect.Descriptor instead. +func (*ListFeaturesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{24} +} + +func (x *ListFeaturesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListFeaturesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListFeaturesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFeaturesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListFeaturesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListFeaturesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListFeaturesRequest) GetLatestStatsCount() int32 { + if x != nil { + return x.LatestStatsCount + } + return 0 +} + +// Response message for +// [FeaturestoreService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures]. +// Response message for +// [FeatureRegistryService.ListFeatures][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.ListFeatures]. +type ListFeaturesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Features matching the request. + Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + // A token, which can be sent as + // [ListFeaturesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFeaturesResponse) Reset() { + *x = ListFeaturesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFeaturesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFeaturesResponse) ProtoMessage() {} + +func (x *ListFeaturesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[25] + 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 ListFeaturesResponse.ProtoReflect.Descriptor instead. +func (*ListFeaturesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{25} +} + +func (x *ListFeaturesResponse) GetFeatures() []*Feature { + if x != nil { + return x.Features + } + return nil +} + +func (x *ListFeaturesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeaturestoreService.SearchFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures]. +type SearchFeaturesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to search Features. + // Format: + // `projects/{project}/locations/{location}` + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + // Query string that is a conjunction of field-restricted queries and/or + // field-restricted filters. Field-restricted queries and filters can be + // combined using `AND` to form a conjunction. + // + // A field query is in the form FIELD:QUERY. This implicitly checks if QUERY + // exists as a substring within Feature's FIELD. The QUERY + // and the FIELD are converted to a sequence of words (i.e. tokens) for + // comparison. This is done by: + // + // - Removing leading/trailing whitespace and tokenizing the search value. + // Characters that are not one of alphanumeric `[a-zA-Z0-9]`, underscore + // `_`, or asterisk `*` are treated as delimiters for tokens. `*` is treated + // as a wildcard that matches characters within a token. + // - Ignoring case. + // - Prepending an asterisk to the first and appending an asterisk to the + // last token in QUERY. + // + // A QUERY must be either a singular token or a phrase. A phrase is one or + // multiple words enclosed in double quotation marks ("). With phrases, the + // order of the words is important. Words in the phrase must be matching in + // order and consecutively. + // + // Supported FIELDs for field-restricted queries: + // + // * `feature_id` + // * `description` + // * `entity_type_id` + // + // Examples: + // + // * `feature_id: foo` --> Matches a Feature with ID containing the substring + // `foo` (eg. `foo`, `foofeature`, `barfoo`). + // * `feature_id: foo*feature` --> Matches a Feature with ID containing the + // substring `foo*feature` (eg. `foobarfeature`). + // * `feature_id: foo AND description: bar` --> Matches a Feature with ID + // containing the substring `foo` and description containing the substring + // `bar`. + // + // Besides field queries, the following exact-match filters are + // supported. The exact-match filters do not support wildcards. Unlike + // field-restricted queries, exact-match filters are case-sensitive. + // + // * `feature_id`: Supports = comparisons. + // * `description`: Supports = comparisons. Multi-token filters should be + // enclosed in quotes. + // * `entity_type_id`: Supports = comparisons. + // * `value_type`: Supports = and != comparisons. + // * `labels`: Supports key-value equality as well as key presence. + // * `featurestore_id`: Supports = comparisons. + // + // Examples: + // + // * `description = "foo bar"` --> Any Feature with description exactly equal + // to `foo bar` + // - `value_type = DOUBLE` --> Features whose type is DOUBLE. + // - `labels.active = yes AND labels.env = prod` --> Features having both + // (active: yes) and (env: prod) labels. + // - `labels.env: *` --> Any Feature which has a label with `env` as the + // key. + Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + // The maximum number of Features to return. The service may return fewer + // than this value. If unspecified, at most 100 Features will be returned. + // The maximum value is 100; any value greater than 100 will be coerced to + // 100. + PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [FeaturestoreService.SearchFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [FeaturestoreService.SearchFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures], + // except `page_size`, must match the call that provided the page token. + PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *SearchFeaturesRequest) Reset() { + *x = SearchFeaturesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchFeaturesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchFeaturesRequest) ProtoMessage() {} + +func (x *SearchFeaturesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[26] + 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 SearchFeaturesRequest.ProtoReflect.Descriptor instead. +func (*SearchFeaturesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{26} +} + +func (x *SearchFeaturesRequest) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SearchFeaturesRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *SearchFeaturesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchFeaturesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [FeaturestoreService.SearchFeatures][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures]. +type SearchFeaturesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Features matching the request. + // + // Fields returned: + // + // - `name` + // - `description` + // - `labels` + // - `create_time` + // - `update_time` + Features []*Feature `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + // A token, which can be sent as + // [SearchFeaturesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchFeaturesResponse) Reset() { + *x = SearchFeaturesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchFeaturesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchFeaturesResponse) ProtoMessage() {} + +func (x *SearchFeaturesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[27] + 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 SearchFeaturesResponse.ProtoReflect.Descriptor instead. +func (*SearchFeaturesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{27} +} + +func (x *SearchFeaturesResponse) GetFeatures() []*Feature { + if x != nil { + return x.Features + } + return nil +} + +func (x *SearchFeaturesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [FeaturestoreService.UpdateFeature][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature]. +// Request message for +// [FeatureRegistryService.UpdateFeature][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.UpdateFeature]. +type UpdateFeatureRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Feature's `name` field is used to identify the Feature to be + // updated. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + // `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` + Feature *Feature `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"` + // Field mask is used to specify the fields to be overwritten in the + // Features resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then only the non-empty fields present in the + // request will be overwritten. Set the update_mask to `*` to override all + // fields. + // + // Updatable fields: + // + // - `description` + // - `labels` + // - `disable_monitoring` (Not supported for FeatureRegistry Feature) + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateFeatureRequest) Reset() { + *x = UpdateFeatureRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeatureRequest) ProtoMessage() {} + +func (x *UpdateFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[28] + 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 UpdateFeatureRequest.ProtoReflect.Descriptor instead. +func (*UpdateFeatureRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{28} +} + +func (x *UpdateFeatureRequest) GetFeature() *Feature { + if x != nil { + return x.Feature + } + return nil +} + +func (x *UpdateFeatureRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [FeaturestoreService.DeleteFeature][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature]. +// Request message for +// [FeatureRegistryService.DeleteFeature][mockgcp.cloud.aiplatform.v1beta1.FeatureRegistryService.DeleteFeature]. +type DeleteFeatureRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Features to be deleted. + // Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` + // `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteFeatureRequest) Reset() { + *x = DeleteFeatureRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureRequest) ProtoMessage() {} + +func (x *DeleteFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[29] + 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 DeleteFeatureRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeatureRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{29} +} + +func (x *DeleteFeatureRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Details of operations that perform create Featurestore. +type CreateFeaturestoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateFeaturestoreOperationMetadata) Reset() { + *x = CreateFeaturestoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeaturestoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeaturestoreOperationMetadata) ProtoMessage() {} + +func (x *CreateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[30] + 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 CreateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{30} +} + +func (x *CreateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update Featurestore. +type UpdateFeaturestoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateFeaturestoreOperationMetadata) Reset() { + *x = UpdateFeaturestoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFeaturestoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFeaturestoreOperationMetadata) ProtoMessage() {} + +func (x *UpdateFeaturestoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[31] + 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 UpdateFeaturestoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateFeaturestoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{31} +} + +func (x *UpdateFeaturestoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform import Feature values. +type ImportFeatureValuesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore import Feature values. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Number of entities that have been imported by the operation. + ImportedEntityCount int64 `protobuf:"varint,2,opt,name=imported_entity_count,json=importedEntityCount,proto3" json:"imported_entity_count,omitempty"` + // Number of Feature values that have been imported by the operation. + ImportedFeatureValueCount int64 `protobuf:"varint,3,opt,name=imported_feature_value_count,json=importedFeatureValueCount,proto3" json:"imported_feature_value_count,omitempty"` + // The source URI from where Feature values are imported. + SourceUris []string `protobuf:"bytes,4,rep,name=source_uris,json=sourceUris,proto3" json:"source_uris,omitempty"` + // The number of rows in input source that weren't imported due to either + // * Not having any featureValues. + // * Having a null entityId. + // * Having a null timestamp. + // * Not being parsable (applicable for CSV sources). + InvalidRowCount int64 `protobuf:"varint,6,opt,name=invalid_row_count,json=invalidRowCount,proto3" json:"invalid_row_count,omitempty"` + // The number rows that weren't ingested due to having timestamps outside the + // retention boundary. + TimestampOutsideRetentionRowsCount int64 `protobuf:"varint,7,opt,name=timestamp_outside_retention_rows_count,json=timestampOutsideRetentionRowsCount,proto3" json:"timestamp_outside_retention_rows_count,omitempty"` + // List of ImportFeatureValues operations running under a single EntityType + // that are blocking this operation. + BlockingOperationIds []int64 `protobuf:"varint,8,rep,packed,name=blocking_operation_ids,json=blockingOperationIds,proto3" json:"blocking_operation_ids,omitempty"` +} + +func (x *ImportFeatureValuesOperationMetadata) Reset() { + *x = ImportFeatureValuesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportFeatureValuesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportFeatureValuesOperationMetadata) ProtoMessage() {} + +func (x *ImportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[32] + 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 ImportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead. +func (*ImportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{32} +} + +func (x *ImportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *ImportFeatureValuesOperationMetadata) GetImportedEntityCount() int64 { + if x != nil { + return x.ImportedEntityCount + } + return 0 +} + +func (x *ImportFeatureValuesOperationMetadata) GetImportedFeatureValueCount() int64 { + if x != nil { + return x.ImportedFeatureValueCount + } + return 0 +} + +func (x *ImportFeatureValuesOperationMetadata) GetSourceUris() []string { + if x != nil { + return x.SourceUris + } + return nil +} + +func (x *ImportFeatureValuesOperationMetadata) GetInvalidRowCount() int64 { + if x != nil { + return x.InvalidRowCount + } + return 0 +} + +func (x *ImportFeatureValuesOperationMetadata) GetTimestampOutsideRetentionRowsCount() int64 { + if x != nil { + return x.TimestampOutsideRetentionRowsCount + } + return 0 +} + +func (x *ImportFeatureValuesOperationMetadata) GetBlockingOperationIds() []int64 { + if x != nil { + return x.BlockingOperationIds + } + return nil +} + +// Details of operations that exports Features values. +type ExportFeatureValuesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore export Feature values. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *ExportFeatureValuesOperationMetadata) Reset() { + *x = ExportFeatureValuesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFeatureValuesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFeatureValuesOperationMetadata) ProtoMessage() {} + +func (x *ExportFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[33] + 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 ExportFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead. +func (*ExportFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{33} +} + +func (x *ExportFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that batch reads Feature values. +type BatchReadFeatureValuesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore batch read Features values. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *BatchReadFeatureValuesOperationMetadata) Reset() { + *x = BatchReadFeatureValuesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadFeatureValuesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadFeatureValuesOperationMetadata) ProtoMessage() {} + +func (x *BatchReadFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[34] + 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 BatchReadFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead. +func (*BatchReadFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{34} +} + +func (x *BatchReadFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that delete Feature values. +type DeleteFeatureValuesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Featurestore delete Features values. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *DeleteFeatureValuesOperationMetadata) Reset() { + *x = DeleteFeatureValuesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesOperationMetadata) ProtoMessage() {} + +func (x *DeleteFeatureValuesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[35] + 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 DeleteFeatureValuesOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{35} +} + +func (x *DeleteFeatureValuesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform create EntityType. +type CreateEntityTypeOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for EntityType. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateEntityTypeOperationMetadata) Reset() { + *x = CreateEntityTypeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEntityTypeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEntityTypeOperationMetadata) ProtoMessage() {} + +func (x *CreateEntityTypeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[36] + 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 CreateEntityTypeOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateEntityTypeOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{36} +} + +func (x *CreateEntityTypeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform create Feature. +type CreateFeatureOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Feature. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateFeatureOperationMetadata) Reset() { + *x = CreateFeatureOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFeatureOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFeatureOperationMetadata) ProtoMessage() {} + +func (x *CreateFeatureOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[37] + 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 CreateFeatureOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateFeatureOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{37} +} + +func (x *CreateFeatureOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform batch create Features. +type BatchCreateFeaturesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Feature. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *BatchCreateFeaturesOperationMetadata) Reset() { + *x = BatchCreateFeaturesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateFeaturesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateFeaturesOperationMetadata) ProtoMessage() {} + +func (x *BatchCreateFeaturesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[38] + 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 BatchCreateFeaturesOperationMetadata.ProtoReflect.Descriptor instead. +func (*BatchCreateFeaturesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{38} +} + +func (x *BatchCreateFeaturesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [FeaturestoreService.DeleteFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues]. +type DeleteFeatureValuesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines options to select feature values to be deleted. + // + // Types that are assignable to DeleteOption: + // + // *DeleteFeatureValuesRequest_SelectEntity_ + // *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ + DeleteOption isDeleteFeatureValuesRequest_DeleteOption `protobuf_oneof:"DeleteOption"` + // Required. The resource name of the EntityType grouping the Features for + // which values are being deleted from. Format: + // `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}` + EntityType string `protobuf:"bytes,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"` +} + +func (x *DeleteFeatureValuesRequest) Reset() { + *x = DeleteFeatureValuesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesRequest) ProtoMessage() {} + +func (x *DeleteFeatureValuesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39] + 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 DeleteFeatureValuesRequest.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39} +} + +func (m *DeleteFeatureValuesRequest) GetDeleteOption() isDeleteFeatureValuesRequest_DeleteOption { + if m != nil { + return m.DeleteOption + } + return nil +} + +func (x *DeleteFeatureValuesRequest) GetSelectEntity() *DeleteFeatureValuesRequest_SelectEntity { + if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectEntity_); ok { + return x.SelectEntity + } + return nil +} + +func (x *DeleteFeatureValuesRequest) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature { + if x, ok := x.GetDeleteOption().(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_); ok { + return x.SelectTimeRangeAndFeature + } + return nil +} + +func (x *DeleteFeatureValuesRequest) GetEntityType() string { + if x != nil { + return x.EntityType + } + return "" +} + +type isDeleteFeatureValuesRequest_DeleteOption interface { + isDeleteFeatureValuesRequest_DeleteOption() +} + +type DeleteFeatureValuesRequest_SelectEntity_ struct { + // Select feature values to be deleted by specifying entities. + SelectEntity *DeleteFeatureValuesRequest_SelectEntity `protobuf:"bytes,2,opt,name=select_entity,json=selectEntity,proto3,oneof"` +} + +type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_ struct { + // Select feature values to be deleted by specifying time range and + // features. + SelectTimeRangeAndFeature *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature `protobuf:"bytes,3,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"` +} + +func (*DeleteFeatureValuesRequest_SelectEntity_) isDeleteFeatureValuesRequest_DeleteOption() {} + +func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_) isDeleteFeatureValuesRequest_DeleteOption() { +} + +// Response message for +// [FeaturestoreService.DeleteFeatureValues][mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues]. +type DeleteFeatureValuesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Response based on which delete option is specified in the + // request + // + // Types that are assignable to Response: + // + // *DeleteFeatureValuesResponse_SelectEntity_ + // *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ + Response isDeleteFeatureValuesResponse_Response `protobuf_oneof:"response"` +} + +func (x *DeleteFeatureValuesResponse) Reset() { + *x = DeleteFeatureValuesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesResponse) ProtoMessage() {} + +func (x *DeleteFeatureValuesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40] + 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 DeleteFeatureValuesResponse.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40} +} + +func (m *DeleteFeatureValuesResponse) GetResponse() isDeleteFeatureValuesResponse_Response { + if m != nil { + return m.Response + } + return nil +} + +func (x *DeleteFeatureValuesResponse) GetSelectEntity() *DeleteFeatureValuesResponse_SelectEntity { + if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectEntity_); ok { + return x.SelectEntity + } + return nil +} + +func (x *DeleteFeatureValuesResponse) GetSelectTimeRangeAndFeature() *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature { + if x, ok := x.GetResponse().(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_); ok { + return x.SelectTimeRangeAndFeature + } + return nil +} + +type isDeleteFeatureValuesResponse_Response interface { + isDeleteFeatureValuesResponse_Response() +} + +type DeleteFeatureValuesResponse_SelectEntity_ struct { + // Response for request specifying the entities to delete + SelectEntity *DeleteFeatureValuesResponse_SelectEntity `protobuf:"bytes,1,opt,name=select_entity,json=selectEntity,proto3,oneof"` +} + +type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_ struct { + // Response for request specifying time range and feature + SelectTimeRangeAndFeature *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature `protobuf:"bytes,2,opt,name=select_time_range_and_feature,json=selectTimeRangeAndFeature,proto3,oneof"` +} + +func (*DeleteFeatureValuesResponse_SelectEntity_) isDeleteFeatureValuesResponse_Response() {} + +func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_) isDeleteFeatureValuesResponse_Response() { +} + +// Selector for entityId. Getting ids from the given source. +type EntityIdSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Details about the source data, including the location of the storage and + // the format. + // + // Types that are assignable to EntityIdsSource: + // + // *EntityIdSelector_CsvSource + EntityIdsSource isEntityIdSelector_EntityIdsSource `protobuf_oneof:"EntityIdsSource"` + // Source column that holds entity IDs. If not provided, entity IDs are + // extracted from the column named entity_id. + EntityIdField string `protobuf:"bytes,5,opt,name=entity_id_field,json=entityIdField,proto3" json:"entity_id_field,omitempty"` +} + +func (x *EntityIdSelector) Reset() { + *x = EntityIdSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EntityIdSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntityIdSelector) ProtoMessage() {} + +func (x *EntityIdSelector) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41] + 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 EntityIdSelector.ProtoReflect.Descriptor instead. +func (*EntityIdSelector) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{41} +} + +func (m *EntityIdSelector) GetEntityIdsSource() isEntityIdSelector_EntityIdsSource { + if m != nil { + return m.EntityIdsSource + } + return nil +} + +func (x *EntityIdSelector) GetCsvSource() *CsvSource { + if x, ok := x.GetEntityIdsSource().(*EntityIdSelector_CsvSource); ok { + return x.CsvSource + } + return nil +} + +func (x *EntityIdSelector) GetEntityIdField() string { + if x != nil { + return x.EntityIdField + } + return "" +} + +type isEntityIdSelector_EntityIdsSource interface { + isEntityIdSelector_EntityIdsSource() +} + +type EntityIdSelector_CsvSource struct { + // Source of Csv + CsvSource *CsvSource `protobuf:"bytes,3,opt,name=csv_source,json=csvSource,proto3,oneof"` +} + +func (*EntityIdSelector_CsvSource) isEntityIdSelector_EntityIdsSource() {} + +// Defines the Feature value(s) to import. +type ImportFeatureValuesRequest_FeatureSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. ID of the Feature to import values of. This Feature must exist + // in the target EntityType, or the request will fail. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Source column to get the Feature values from. If not set, uses the column + // with the same name as the Feature ID. + SourceField string `protobuf:"bytes,2,opt,name=source_field,json=sourceField,proto3" json:"source_field,omitempty"` +} + +func (x *ImportFeatureValuesRequest_FeatureSpec) Reset() { + *x = ImportFeatureValuesRequest_FeatureSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportFeatureValuesRequest_FeatureSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportFeatureValuesRequest_FeatureSpec) ProtoMessage() {} + +func (x *ImportFeatureValuesRequest_FeatureSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[42] + 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 ImportFeatureValuesRequest_FeatureSpec.ProtoReflect.Descriptor instead. +func (*ImportFeatureValuesRequest_FeatureSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *ImportFeatureValuesRequest_FeatureSpec) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ImportFeatureValuesRequest_FeatureSpec) GetSourceField() string { + if x != nil { + return x.SourceField + } + return "" +} + +// Describe pass-through fields in read_instance source. +type BatchReadFeatureValuesRequest_PassThroughField struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the field in the CSV header or the name of the + // column in BigQuery table. The naming restriction is the same as + // [Feature.name][mockgcp.cloud.aiplatform.v1beta1.Feature.name]. + FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` +} + +func (x *BatchReadFeatureValuesRequest_PassThroughField) Reset() { + *x = BatchReadFeatureValuesRequest_PassThroughField{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadFeatureValuesRequest_PassThroughField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadFeatureValuesRequest_PassThroughField) ProtoMessage() {} + +func (x *BatchReadFeatureValuesRequest_PassThroughField) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[43] + 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 BatchReadFeatureValuesRequest_PassThroughField.ProtoReflect.Descriptor instead. +func (*BatchReadFeatureValuesRequest_PassThroughField) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *BatchReadFeatureValuesRequest_PassThroughField) GetFieldName() string { + if x != nil { + return x.FieldName + } + return "" +} + +// Selects Features of an EntityType to read values of and specifies read +// settings. +type BatchReadFeatureValuesRequest_EntityTypeSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. ID of the EntityType to select Features. The EntityType id is + // the + // [entity_type_id][mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeRequest.entity_type_id] + // specified during EntityType creation. + EntityTypeId string `protobuf:"bytes,1,opt,name=entity_type_id,json=entityTypeId,proto3" json:"entity_type_id,omitempty"` + // Required. Selectors choosing which Feature values to read from the + // EntityType. + FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"` + // Per-Feature settings for the batch read. + Settings []*DestinationFeatureSetting `protobuf:"bytes,3,rep,name=settings,proto3" json:"settings,omitempty"` +} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) Reset() { + *x = BatchReadFeatureValuesRequest_EntityTypeSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoMessage() {} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[44] + 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 BatchReadFeatureValuesRequest_EntityTypeSpec.ProtoReflect.Descriptor instead. +func (*BatchReadFeatureValuesRequest_EntityTypeSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{8, 1} +} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetEntityTypeId() string { + if x != nil { + return x.EntityTypeId + } + return "" +} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetFeatureSelector() *FeatureSelector { + if x != nil { + return x.FeatureSelector + } + return nil +} + +func (x *BatchReadFeatureValuesRequest_EntityTypeSpec) GetSettings() []*DestinationFeatureSetting { + if x != nil { + return x.Settings + } + return nil +} + +// Describes exporting the latest Feature values of all entities of the +// EntityType between [start_time, snapshot_time]. +type ExportFeatureValuesRequest_SnapshotExport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Exports Feature values as of this timestamp. If not set, + // retrieve values as of now. Timestamp, if present, must not have higher + // than millisecond precision. + SnapshotTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"` + // Excludes Feature values with feature generation timestamp before this + // timestamp. If not set, retrieve oldest values kept in Feature Store. + // Timestamp, if present, must not have higher than millisecond precision. + StartTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` +} + +func (x *ExportFeatureValuesRequest_SnapshotExport) Reset() { + *x = ExportFeatureValuesRequest_SnapshotExport{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFeatureValuesRequest_SnapshotExport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFeatureValuesRequest_SnapshotExport) ProtoMessage() {} + +func (x *ExportFeatureValuesRequest_SnapshotExport) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[45] + 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 ExportFeatureValuesRequest_SnapshotExport.ProtoReflect.Descriptor instead. +func (*ExportFeatureValuesRequest_SnapshotExport) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *ExportFeatureValuesRequest_SnapshotExport) GetSnapshotTime() *timestamp.Timestamp { + if x != nil { + return x.SnapshotTime + } + return nil +} + +func (x *ExportFeatureValuesRequest_SnapshotExport) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +// Describes exporting all historical Feature values of all entities of the +// EntityType between [start_time, end_time]. +type ExportFeatureValuesRequest_FullExport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Excludes Feature values with feature generation timestamp before this + // timestamp. If not set, retrieve oldest values kept in Feature Store. + // Timestamp, if present, must not have higher than millisecond precision. + StartTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Exports Feature values as of this timestamp. If not set, + // retrieve values as of now. Timestamp, if present, must not have higher + // than millisecond precision. + EndTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *ExportFeatureValuesRequest_FullExport) Reset() { + *x = ExportFeatureValuesRequest_FullExport{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportFeatureValuesRequest_FullExport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportFeatureValuesRequest_FullExport) ProtoMessage() {} + +func (x *ExportFeatureValuesRequest_FullExport) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[46] + 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 ExportFeatureValuesRequest_FullExport.ProtoReflect.Descriptor instead. +func (*ExportFeatureValuesRequest_FullExport) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{9, 1} +} + +func (x *ExportFeatureValuesRequest_FullExport) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ExportFeatureValuesRequest_FullExport) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +// Message to select entity. +// If an entity id is selected, all the feature values corresponding to the +// entity id will be deleted, including the entityId. +type DeleteFeatureValuesRequest_SelectEntity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Selectors choosing feature values of which entity id to be + // deleted from the EntityType. + EntityIdSelector *EntityIdSelector `protobuf:"bytes,1,opt,name=entity_id_selector,json=entityIdSelector,proto3" json:"entity_id_selector,omitempty"` +} + +func (x *DeleteFeatureValuesRequest_SelectEntity) Reset() { + *x = DeleteFeatureValuesRequest_SelectEntity{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesRequest_SelectEntity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesRequest_SelectEntity) ProtoMessage() {} + +func (x *DeleteFeatureValuesRequest_SelectEntity) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[47] + 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 DeleteFeatureValuesRequest_SelectEntity.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesRequest_SelectEntity) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39, 0} +} + +func (x *DeleteFeatureValuesRequest_SelectEntity) GetEntityIdSelector() *EntityIdSelector { + if x != nil { + return x.EntityIdSelector + } + return nil +} + +// Message to select time range and feature. +// Values of the selected feature generated within an inclusive time range +// will be deleted. Using this option permanently deletes the feature values +// from the specified feature IDs within the specified time range. +// This might include data from the online storage. If you want to retain +// any deleted historical data in the online storage, you must re-ingest it. +type DeleteFeatureValuesRequest_SelectTimeRangeAndFeature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Select feature generated within a half-inclusive time range. + // The time range is lower inclusive and upper exclusive. + TimeRange *interval.Interval `protobuf:"bytes,1,opt,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"` + // Required. Selectors choosing which feature values to be deleted from the + // EntityType. + FeatureSelector *FeatureSelector `protobuf:"bytes,2,opt,name=feature_selector,json=featureSelector,proto3" json:"feature_selector,omitempty"` + // If set, data will not be deleted from online storage. + // When time range is older than the data in online storage, setting this to + // be true will make the deletion have no impact on online serving. + SkipOnlineStorageDelete bool `protobuf:"varint,3,opt,name=skip_online_storage_delete,json=skipOnlineStorageDelete,proto3" json:"skip_online_storage_delete,omitempty"` +} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Reset() { + *x = DeleteFeatureValuesRequest_SelectTimeRangeAndFeature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoMessage() {} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[48] + 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 DeleteFeatureValuesRequest_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{39, 1} +} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetTimeRange() *interval.Interval { + if x != nil { + return x.TimeRange + } + return nil +} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetFeatureSelector() *FeatureSelector { + if x != nil { + return x.FeatureSelector + } + return nil +} + +func (x *DeleteFeatureValuesRequest_SelectTimeRangeAndFeature) GetSkipOnlineStorageDelete() bool { + if x != nil { + return x.SkipOnlineStorageDelete + } + return false +} + +// Response message if the request uses the SelectEntity option. +type DeleteFeatureValuesResponse_SelectEntity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The count of deleted entity rows in the offline storage. + // Each row corresponds to the combination of an entity ID and a timestamp. + // One entity ID can have multiple rows in the offline storage. + OfflineStorageDeletedEntityRowCount int64 `protobuf:"varint,1,opt,name=offline_storage_deleted_entity_row_count,json=offlineStorageDeletedEntityRowCount,proto3" json:"offline_storage_deleted_entity_row_count,omitempty"` + // The count of deleted entities in the online storage. + // Each entity ID corresponds to one entity. + OnlineStorageDeletedEntityCount int64 `protobuf:"varint,2,opt,name=online_storage_deleted_entity_count,json=onlineStorageDeletedEntityCount,proto3" json:"online_storage_deleted_entity_count,omitempty"` +} + +func (x *DeleteFeatureValuesResponse_SelectEntity) Reset() { + *x = DeleteFeatureValuesResponse_SelectEntity{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesResponse_SelectEntity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesResponse_SelectEntity) ProtoMessage() {} + +func (x *DeleteFeatureValuesResponse_SelectEntity) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[49] + 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 DeleteFeatureValuesResponse_SelectEntity.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesResponse_SelectEntity) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40, 0} +} + +func (x *DeleteFeatureValuesResponse_SelectEntity) GetOfflineStorageDeletedEntityRowCount() int64 { + if x != nil { + return x.OfflineStorageDeletedEntityRowCount + } + return 0 +} + +func (x *DeleteFeatureValuesResponse_SelectEntity) GetOnlineStorageDeletedEntityCount() int64 { + if x != nil { + return x.OnlineStorageDeletedEntityCount + } + return 0 +} + +// Response message if the request uses the SelectTimeRangeAndFeature option. +type DeleteFeatureValuesResponse_SelectTimeRangeAndFeature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The count of the features or columns impacted. + // This is the same as the feature count in the request. + ImpactedFeatureCount int64 `protobuf:"varint,1,opt,name=impacted_feature_count,json=impactedFeatureCount,proto3" json:"impacted_feature_count,omitempty"` + // The count of modified entity rows in the offline storage. + // Each row corresponds to the combination of an entity ID and a timestamp. + // One entity ID can have multiple rows in the offline storage. + // Within each row, only the features specified in the request are + // deleted. + OfflineStorageModifiedEntityRowCount int64 `protobuf:"varint,2,opt,name=offline_storage_modified_entity_row_count,json=offlineStorageModifiedEntityRowCount,proto3" json:"offline_storage_modified_entity_row_count,omitempty"` + // The count of modified entities in the online storage. + // Each entity ID corresponds to one entity. + // Within each entity, only the features specified in the request are + // deleted. + OnlineStorageModifiedEntityCount int64 `protobuf:"varint,3,opt,name=online_storage_modified_entity_count,json=onlineStorageModifiedEntityCount,proto3" json:"online_storage_modified_entity_count,omitempty"` +} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Reset() { + *x = DeleteFeatureValuesResponse_SelectTimeRangeAndFeature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoMessage() {} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[50] + 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 DeleteFeatureValuesResponse_SelectTimeRangeAndFeature.ProtoReflect.Descriptor instead. +func (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP(), []int{40, 1} +} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetImpactedFeatureCount() int64 { + if x != nil { + return x.ImpactedFeatureCount + } + return 0 +} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOfflineStorageModifiedEntityRowCount() int64 { + if x != nil { + return x.OfflineStorageModifiedEntityRowCount + } + return 0 +} + +func (x *DeleteFeatureValuesResponse_SelectTimeRangeAndFeature) GetOnlineStorageModifiedEntityCount() int64 { + if x != nil { + return x.OnlineStorageModifiedEntityCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x33, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 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, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xea, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, + 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, + 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x02, + 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x28, 0x12, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x99, 0x01, 0x0a, 0x19, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 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, 0xb1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x75, 0x0a, 0x19, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x22, 0xf3, 0x06, 0x0a, 0x1a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4f, 0x0a, 0x0b, 0x61, 0x76, 0x72, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x5b, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, + 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, + 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3f, 0x0a, 0x0c, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x48, 0x01, + 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, + 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x12, 0x72, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x21, + 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, + 0x45, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x13, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x15, 0x0a, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x1b, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x26, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa3, 0x08, 0x0a, + 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, + 0x0a, 0x12, 0x63, 0x73, 0x76, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x73, + 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x63, 0x73, 0x76, 0x52, 0x65, + 0x61, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x17, 0x62, + 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x15, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x0c, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x80, 0x01, + 0x0a, 0x13, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x73, + 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x11, 0x70, + 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x12, 0x7f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 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, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x1a, 0x36, 0x0a, 0x10, 0x50, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xf7, 0x01, 0x0a, 0x0e, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x0e, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x57, 0x0a, 0x08, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x84, 0x07, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x76, 0x0a, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6a, 0x0a, 0x0b, 0x66, 0x75, 0x6c, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x75, 0x6c, + 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x60, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x57, 0x0a, 0x08, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x1a, 0x7e, 0x0a, 0x0a, 0x46, 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x01, 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, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x6c, 0x0a, 0x19, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xdd, 0x02, 0x0a, 0x17, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x6a, 0x0a, 0x14, 0x74, 0x66, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x54, 0x46, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x74, 0x66, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0f, 0x63, + 0x73, 0x76, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x73, 0x76, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x86, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x26, 0x12, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x92, 0x01, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 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, 0xaa, + 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x71, 0x0a, 0x17, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xc7, + 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, + 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x1a, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, + 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xae, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 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, 0xb0, 0x01, 0x0a, 0x15, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 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, 0x87, 0x01, 0x0a, + 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x9d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x48, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x55, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8c, 0x01, + 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8c, 0x01, 0x0a, + 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd9, 0x03, 0x0a, 0x24, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x3f, 0x0a, 0x1c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, + 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x6f, 0x77, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, + 0x26, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, + 0x64, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x22, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x52, + 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x34, 0x0a, 0x16, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x03, 0x52, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8a, 0x01, 0x0a, 0x21, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0xfa, 0x05, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x70, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x9a, 0x01, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x4d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x75, + 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x65, + 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0xf6, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x61, + 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0e, + 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xed, + 0x05, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x9b, 0x01, 0x0a, 0x1d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x48, 0x00, 0x52, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, + 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x55, 0x0a, 0x28, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x23, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, + 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x23, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x1f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xfa, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x29, 0x6f, 0x66, 0x66, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x77, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x24, 0x6f, 0x66, + 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x24, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x20, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, + 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x73, 0x76, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x83, 0x2c, 0x0a, + 0x13, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xb1, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 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, 0xbe, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, + 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x23, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, + 0x69, 0x64, 0xca, 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x12, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc2, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x38, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd5, 0x01, + 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9d, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 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, 0xaa, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x53, 0x32, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x18, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, + 0x41, 0x33, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf8, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 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, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0xca, 0x41, 0x30, + 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xb3, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 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, + 0xc4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x0b, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xda, 0x41, 0x12, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x2f, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xca, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x53, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x32, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0b, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xda, 0x41, 0x17, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x12, 0x82, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 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, 0x93, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x2a, 0x44, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xda, 0x41, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa2, 0x02, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, + 0xca, 0x41, 0x29, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x02, 0x0a, + 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 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, 0xbe, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x43, 0x0a, + 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0xf2, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, + 0x32, 0x57, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0xda, 0x41, 0x13, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xfa, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x91, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x2a, 0x4f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x02, 0x0a, 0x13, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3c, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 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, 0xbe, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x64, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb6, 0x02, 0x0a, 0x16, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 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, 0xbb, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, + 0x55, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x02, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 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, 0xbe, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x64, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb3, 0x02, 0x0a, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 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, + 0xbe, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xf0, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0xda, 0x41, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0xda, 0x41, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 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, 0xf0, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x18, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes = make([]protoimpl.MessageInfo, 51) +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes = []interface{}{ + (*CreateFeaturestoreRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest + (*GetFeaturestoreRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetFeaturestoreRequest + (*ListFeaturestoresRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresRequest + (*ListFeaturestoresResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresResponse + (*UpdateFeaturestoreRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest + (*DeleteFeaturestoreRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteFeaturestoreRequest + (*ImportFeatureValuesRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest + (*ImportFeatureValuesResponse)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesResponse + (*BatchReadFeatureValuesRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest + (*ExportFeatureValuesRequest)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest + (*DestinationFeatureSetting)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.DestinationFeatureSetting + (*FeatureValueDestination)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination + (*ExportFeatureValuesResponse)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesResponse + (*BatchReadFeatureValuesResponse)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesResponse + (*CreateEntityTypeRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeRequest + (*GetEntityTypeRequest)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.GetEntityTypeRequest + (*ListEntityTypesRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesRequest + (*ListEntityTypesResponse)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesResponse + (*UpdateEntityTypeRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest + (*DeleteEntityTypeRequest)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.DeleteEntityTypeRequest + (*CreateFeatureRequest)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest + (*BatchCreateFeaturesRequest)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest + (*BatchCreateFeaturesResponse)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesResponse + (*GetFeatureRequest)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.GetFeatureRequest + (*ListFeaturesRequest)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest + (*ListFeaturesResponse)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesResponse + (*SearchFeaturesRequest)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesRequest + (*SearchFeaturesResponse)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesResponse + (*UpdateFeatureRequest)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest + (*DeleteFeatureRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureRequest + (*CreateFeaturestoreOperationMetadata)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.CreateFeaturestoreOperationMetadata + (*UpdateFeaturestoreOperationMetadata)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreOperationMetadata + (*ImportFeatureValuesOperationMetadata)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesOperationMetadata + (*ExportFeatureValuesOperationMetadata)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesOperationMetadata + (*BatchReadFeatureValuesOperationMetadata)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesOperationMetadata + (*DeleteFeatureValuesOperationMetadata)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesOperationMetadata + (*CreateEntityTypeOperationMetadata)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeOperationMetadata + (*CreateFeatureOperationMetadata)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOperationMetadata + (*BatchCreateFeaturesOperationMetadata)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesOperationMetadata + (*DeleteFeatureValuesRequest)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest + (*DeleteFeatureValuesResponse)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse + (*EntityIdSelector)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.EntityIdSelector + (*ImportFeatureValuesRequest_FeatureSpec)(nil), // 42: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.FeatureSpec + (*BatchReadFeatureValuesRequest_PassThroughField)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.PassThroughField + (*BatchReadFeatureValuesRequest_EntityTypeSpec)(nil), // 44: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec + (*ExportFeatureValuesRequest_SnapshotExport)(nil), // 45: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport + (*ExportFeatureValuesRequest_FullExport)(nil), // 46: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport + (*DeleteFeatureValuesRequest_SelectEntity)(nil), // 47: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity + (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature)(nil), // 48: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature + (*DeleteFeatureValuesResponse_SelectEntity)(nil), // 49: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectEntity + (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature)(nil), // 50: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature + (*Featurestore)(nil), // 51: mockgcp.cloud.aiplatform.v1beta1.Featurestore + (*field_mask.FieldMask)(nil), // 52: google.protobuf.FieldMask + (*AvroSource)(nil), // 53: mockgcp.cloud.aiplatform.v1beta1.AvroSource + (*BigQuerySource)(nil), // 54: mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + (*CsvSource)(nil), // 55: mockgcp.cloud.aiplatform.v1beta1.CsvSource + (*timestamp.Timestamp)(nil), // 56: google.protobuf.Timestamp + (*FeatureSelector)(nil), // 57: mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + (*BigQueryDestination)(nil), // 58: mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + (*TFRecordDestination)(nil), // 59: mockgcp.cloud.aiplatform.v1beta1.TFRecordDestination + (*CsvDestination)(nil), // 60: mockgcp.cloud.aiplatform.v1beta1.CsvDestination + (*EntityType)(nil), // 61: mockgcp.cloud.aiplatform.v1beta1.EntityType + (*Feature)(nil), // 62: mockgcp.cloud.aiplatform.v1beta1.Feature + (*GenericOperationMetadata)(nil), // 63: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*interval.Interval)(nil), // 64: google.type.Interval + (*longrunningpb.Operation)(nil), // 65: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs = []int32{ + 51, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest.featurestore:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore + 52, // 1: mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresRequest.read_mask:type_name -> google.protobuf.FieldMask + 51, // 2: mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresResponse.featurestores:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore + 51, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest.featurestore:type_name -> mockgcp.cloud.aiplatform.v1beta1.Featurestore + 52, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest.update_mask:type_name -> google.protobuf.FieldMask + 53, // 5: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.avro_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.AvroSource + 54, // 6: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.bigquery_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + 55, // 7: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.csv_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.CsvSource + 56, // 8: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.feature_time:type_name -> google.protobuf.Timestamp + 42, // 9: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.feature_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest.FeatureSpec + 55, // 10: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.csv_read_instances:type_name -> mockgcp.cloud.aiplatform.v1beta1.CsvSource + 54, // 11: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.bigquery_read_instances:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + 11, // 12: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination + 43, // 13: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.pass_through_fields:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.PassThroughField + 44, // 14: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.entity_type_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec + 56, // 15: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.start_time:type_name -> google.protobuf.Timestamp + 45, // 16: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.snapshot_export:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport + 46, // 17: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.full_export:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport + 11, // 18: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination + 57, // 19: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.feature_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + 10, // 20: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.settings:type_name -> mockgcp.cloud.aiplatform.v1beta1.DestinationFeatureSetting + 58, // 21: mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination.bigquery_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + 59, // 22: mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination.tfrecord_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.TFRecordDestination + 60, // 23: mockgcp.cloud.aiplatform.v1beta1.FeatureValueDestination.csv_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.CsvDestination + 61, // 24: mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeRequest.entity_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.EntityType + 52, // 25: mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesRequest.read_mask:type_name -> google.protobuf.FieldMask + 61, // 26: mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesResponse.entity_types:type_name -> mockgcp.cloud.aiplatform.v1beta1.EntityType + 61, // 27: mockgcp.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest.entity_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.EntityType + 52, // 28: mockgcp.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest.update_mask:type_name -> google.protobuf.FieldMask + 62, // 29: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest.feature:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature + 20, // 30: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest.requests:type_name -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest + 62, // 31: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesResponse.features:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature + 52, // 32: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest.read_mask:type_name -> google.protobuf.FieldMask + 62, // 33: mockgcp.cloud.aiplatform.v1beta1.ListFeaturesResponse.features:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature + 62, // 34: mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesResponse.features:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature + 62, // 35: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest.feature:type_name -> mockgcp.cloud.aiplatform.v1beta1.Feature + 52, // 36: mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest.update_mask:type_name -> google.protobuf.FieldMask + 63, // 37: mockgcp.cloud.aiplatform.v1beta1.CreateFeaturestoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 38: mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 39: mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 40: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 41: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 42: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 43: mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 44: mockgcp.cloud.aiplatform.v1beta1.CreateFeatureOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 63, // 45: mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 47, // 46: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.select_entity:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity + 48, // 47: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.select_time_range_and_feature:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature + 49, // 48: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.select_entity:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectEntity + 50, // 49: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.select_time_range_and_feature:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesResponse.SelectTimeRangeAndFeature + 55, // 50: mockgcp.cloud.aiplatform.v1beta1.EntityIdSelector.csv_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.CsvSource + 57, // 51: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec.feature_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + 10, // 52: mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest.EntityTypeSpec.settings:type_name -> mockgcp.cloud.aiplatform.v1beta1.DestinationFeatureSetting + 56, // 53: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport.snapshot_time:type_name -> google.protobuf.Timestamp + 56, // 54: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.SnapshotExport.start_time:type_name -> google.protobuf.Timestamp + 56, // 55: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport.start_time:type_name -> google.protobuf.Timestamp + 56, // 56: mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest.FullExport.end_time:type_name -> google.protobuf.Timestamp + 41, // 57: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectEntity.entity_id_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.EntityIdSelector + 64, // 58: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.time_range:type_name -> google.type.Interval + 57, // 59: mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest.SelectTimeRangeAndFeature.feature_selector:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureSelector + 0, // 60: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeaturestoreRequest + 1, // 61: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeaturestoreRequest + 2, // 62: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresRequest + 4, // 63: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeaturestoreRequest + 5, // 64: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeaturestoreRequest + 14, // 65: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateEntityTypeRequest + 15, // 66: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetEntityTypeRequest + 16, // 67: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesRequest + 18, // 68: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateEntityTypeRequest + 19, // 69: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteEntityType:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteEntityTypeRequest + 20, // 70: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateFeatureRequest + 21, // 71: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCreateFeaturesRequest + 23, // 72: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetFeatureRequest + 24, // 73: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturesRequest + 28, // 74: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateFeatureRequest + 29, // 75: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureRequest + 6, // 76: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.ImportFeatureValuesRequest + 8, // 77: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchReadFeatureValuesRequest + 9, // 78: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.ExportFeatureValuesRequest + 39, // 79: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteFeatureValuesRequest + 26, // 80: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures:input_type -> mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesRequest + 65, // 81: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeaturestore:output_type -> google.longrunning.Operation + 51, // 82: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeaturestore:output_type -> mockgcp.cloud.aiplatform.v1beta1.Featurestore + 3, // 83: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeaturestores:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturestoresResponse + 65, // 84: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeaturestore:output_type -> google.longrunning.Operation + 65, // 85: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeaturestore:output_type -> google.longrunning.Operation + 65, // 86: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateEntityType:output_type -> google.longrunning.Operation + 61, // 87: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetEntityType:output_type -> mockgcp.cloud.aiplatform.v1beta1.EntityType + 17, // 88: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListEntityTypes:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListEntityTypesResponse + 61, // 89: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateEntityType:output_type -> mockgcp.cloud.aiplatform.v1beta1.EntityType + 65, // 90: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteEntityType:output_type -> google.longrunning.Operation + 65, // 91: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.CreateFeature:output_type -> google.longrunning.Operation + 65, // 92: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchCreateFeatures:output_type -> google.longrunning.Operation + 62, // 93: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.GetFeature:output_type -> mockgcp.cloud.aiplatform.v1beta1.Feature + 25, // 94: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ListFeatures:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListFeaturesResponse + 62, // 95: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.UpdateFeature:output_type -> mockgcp.cloud.aiplatform.v1beta1.Feature + 65, // 96: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeature:output_type -> google.longrunning.Operation + 65, // 97: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues:output_type -> google.longrunning.Operation + 65, // 98: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues:output_type -> google.longrunning.Operation + 65, // 99: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.ExportFeatureValues:output_type -> google.longrunning.Operation + 65, // 100: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues:output_type -> google.longrunning.Operation + 27, // 101: mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService.SearchFeatures:output_type -> mockgcp.cloud.aiplatform.v1beta1.SearchFeaturesResponse + 81, // [81:102] is the sub-list for method output_type + 60, // [60:81] is the sub-list for method input_type + 60, // [60:60] is the sub-list for extension type_name + 60, // [60:60] is the sub-list for extension extendee + 0, // [0:60] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_entity_type_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_selector_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeaturestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeaturestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeaturestoresRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeaturestoresResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeaturestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeaturestoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestinationFeatureSetting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureValueDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEntityTypeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEntityTypeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEntityTypesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEntityTypesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateEntityTypeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEntityTypeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateFeaturesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateFeaturesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFeatureRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeaturesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFeaturesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchFeaturesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchFeaturesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeatureRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeaturestoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFeaturestoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportFeatureValuesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFeatureValuesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadFeatureValuesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEntityTypeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFeatureOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateFeaturesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EntityIdSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportFeatureValuesRequest_FeatureSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadFeatureValuesRequest_PassThroughField); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadFeatureValuesRequest_EntityTypeSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFeatureValuesRequest_SnapshotExport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportFeatureValuesRequest_FullExport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesRequest_SelectEntity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesResponse_SelectEntity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*ImportFeatureValuesRequest_AvroSource)(nil), + (*ImportFeatureValuesRequest_BigquerySource)(nil), + (*ImportFeatureValuesRequest_CsvSource)(nil), + (*ImportFeatureValuesRequest_FeatureTimeField)(nil), + (*ImportFeatureValuesRequest_FeatureTime)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*BatchReadFeatureValuesRequest_CsvReadInstances)(nil), + (*BatchReadFeatureValuesRequest_BigqueryReadInstances)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*ExportFeatureValuesRequest_SnapshotExport_)(nil), + (*ExportFeatureValuesRequest_FullExport_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*FeatureValueDestination_BigqueryDestination)(nil), + (*FeatureValueDestination_TfrecordDestination)(nil), + (*FeatureValueDestination_CsvDestination)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[39].OneofWrappers = []interface{}{ + (*DeleteFeatureValuesRequest_SelectEntity_)(nil), + (*DeleteFeatureValuesRequest_SelectTimeRangeAndFeature_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[40].OneofWrappers = []interface{}{ + (*DeleteFeatureValuesResponse_SelectEntity_)(nil), + (*DeleteFeatureValuesResponse_SelectTimeRangeAndFeature_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes[41].OneofWrappers = []interface{}{ + (*EntityIdSelector_CsvSource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 51, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_featurestore_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.gw.go new file mode 100644 index 0000000000..91b3b53447 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service.pb.gw.go @@ -0,0 +1,2683 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_FeaturestoreService_CreateFeaturestore_0 = &utilities.DoubleArray{Encoding: map[string]int{"featurestore": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeaturestoreService_CreateFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeaturestoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Featurestore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeaturestore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_CreateFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeaturestoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Featurestore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeaturestore(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_GetFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeaturestoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeaturestore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_GetFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeaturestoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeaturestore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_ListFeaturestores_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_ListFeaturestores_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturestoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListFeaturestores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeaturestores(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_ListFeaturestores_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturestoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListFeaturestores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeaturestores(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_UpdateFeaturestore_0 = &utilities.DoubleArray{Encoding: map[string]int{"featurestore": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeaturestoreService_UpdateFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeaturestoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Featurestore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Featurestore); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["featurestore.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "featurestore.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "featurestore.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "featurestore.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeaturestore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_UpdateFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeaturestoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Featurestore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Featurestore); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["featurestore.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "featurestore.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "featurestore.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "featurestore.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeaturestore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_DeleteFeaturestore_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_DeleteFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeaturestoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_DeleteFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteFeaturestore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_DeleteFeaturestore_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeaturestoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_DeleteFeaturestore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteFeaturestore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_CreateEntityType_0 = &utilities.DoubleArray{Encoding: map[string]int{"entity_type": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeaturestoreService_CreateEntityType_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEntityTypeRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.EntityType); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateEntityType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_CreateEntityType_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEntityTypeRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.EntityType); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateEntityType(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_GetEntityType_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEntityTypeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetEntityType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_GetEntityType_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEntityTypeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetEntityType(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_ListEntityTypes_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_ListEntityTypes_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEntityTypesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListEntityTypes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListEntityTypes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_ListEntityTypes_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEntityTypesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListEntityTypes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListEntityTypes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_UpdateEntityType_0 = &utilities.DoubleArray{Encoding: map[string]int{"entity_type": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeaturestoreService_UpdateEntityType_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateEntityTypeRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.EntityType); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.EntityType); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "entity_type.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateEntityType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_UpdateEntityType_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateEntityTypeRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.EntityType); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.EntityType); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "entity_type.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateEntityType(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_DeleteEntityType_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_DeleteEntityType_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEntityTypeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_DeleteEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteEntityType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_DeleteEntityType_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEntityTypeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_DeleteEntityType_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteEntityType(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_CreateFeature_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_FeaturestoreService_CreateFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_CreateFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_CreateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateFeature(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_BatchCreateFeatures_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateFeaturesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateFeatures(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_BatchCreateFeatures_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateFeaturesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateFeatures(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_GetFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_GetFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetFeature(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_ListFeatures_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_ListFeatures_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListFeatures(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_ListFeatures_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_ListFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListFeatures(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_UpdateFeature_0 = &utilities.DoubleArray{Encoding: map[string]int{"feature": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_FeaturestoreService_UpdateFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Feature); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_UpdateFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateFeatureRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Feature); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Feature); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["feature.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "feature.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "feature.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "feature.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_UpdateFeature_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateFeature(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_DeleteFeature_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteFeature(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_DeleteFeature_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteFeature(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_ImportFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := client.ImportFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_ImportFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := server.ImportFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_BatchReadFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchReadFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["featurestore"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "featurestore") + } + + protoReq.Featurestore, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "featurestore", err) + } + + msg, err := client.BatchReadFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_BatchReadFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchReadFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["featurestore"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "featurestore") + } + + protoReq.Featurestore, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "featurestore", err) + } + + msg, err := server.BatchReadFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_ExportFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := client.ExportFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_ExportFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := server.ExportFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +func request_FeaturestoreService_DeleteFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := client.DeleteFeatureValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_DeleteFeatureValues_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteFeatureValuesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["entity_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity_type") + } + + protoReq.EntityType, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity_type", err) + } + + msg, err := server.DeleteFeatureValues(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_FeaturestoreService_SearchFeatures_0 = &utilities.DoubleArray{Encoding: map[string]int{"location": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_FeaturestoreService_SearchFeatures_0(ctx context.Context, marshaler runtime.Marshaler, client FeaturestoreServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["location"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "location") + } + + protoReq.Location, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "location", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_SearchFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.SearchFeatures(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_FeaturestoreService_SearchFeatures_0(ctx context.Context, marshaler runtime.Marshaler, server FeaturestoreServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchFeaturesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["location"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "location") + } + + protoReq.Location, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "location", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_FeaturestoreService_SearchFeatures_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.SearchFeatures(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterFeaturestoreServiceHandlerServer registers the http handlers for service FeaturestoreService to "mux". +// UnaryRPC :call FeaturestoreServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterFeaturestoreServiceHandlerFromEndpoint instead. +func RegisterFeaturestoreServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server FeaturestoreServiceServer) error { + + mux.Handle("POST", pattern_FeaturestoreService_CreateFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featurestores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_CreateFeaturestore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_GetFeaturestore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListFeaturestores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeaturestores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featurestores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_ListFeaturestores_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListFeaturestores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{featurestore.name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_UpdateFeaturestore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_DeleteFeaturestore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_CreateEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateEntityType", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_CreateEntityType_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetEntityType", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_GetEntityType_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListEntityTypes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListEntityTypes", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_ListEntityTypes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListEntityTypes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateEntityType", runtime.WithHTTPPathPattern("/v1beta1/{entity_type.name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_UpdateEntityType_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteEntityType", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_DeleteEntityType_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_CreateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeature", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_CreateFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_BatchCreateFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchCreateFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_BatchCreateFeatures_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_BatchCreateFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_GetFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_ListFeatures_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeature", runtime.WithHTTPPathPattern("/v1beta1/{feature.name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_UpdateFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_DeleteFeature_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_ImportFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ImportFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:importFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_ImportFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ImportFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_BatchReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchReadFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{featurestore=projects/*/locations/*/featurestores/*}:batchReadFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_BatchReadFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_BatchReadFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_ExportFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ExportFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:exportFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_ExportFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ExportFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_DeleteFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:deleteFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_DeleteFeatureValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_SearchFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/SearchFeatures", runtime.WithHTTPPathPattern("/v1beta1/{location=projects/*/locations/*}/featurestores:searchFeatures")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_FeaturestoreService_SearchFeatures_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_SearchFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterFeaturestoreServiceHandlerFromEndpoint is same as RegisterFeaturestoreServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterFeaturestoreServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterFeaturestoreServiceHandler(ctx, mux, conn) +} + +// RegisterFeaturestoreServiceHandler registers the http handlers for service FeaturestoreService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterFeaturestoreServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterFeaturestoreServiceHandlerClient(ctx, mux, NewFeaturestoreServiceClient(conn)) +} + +// RegisterFeaturestoreServiceHandlerClient registers the http handlers for service FeaturestoreService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "FeaturestoreServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "FeaturestoreServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "FeaturestoreServiceClient" to call the correct interceptors. +func RegisterFeaturestoreServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client FeaturestoreServiceClient) error { + + mux.Handle("POST", pattern_FeaturestoreService_CreateFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featurestores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_CreateFeaturestore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_GetFeaturestore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListFeaturestores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeaturestores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/featurestores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_ListFeaturestores_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListFeaturestores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{featurestore.name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_UpdateFeaturestore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteFeaturestore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeaturestore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_DeleteFeaturestore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeaturestore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_CreateEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateEntityType", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_CreateEntityType_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetEntityType", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_GetEntityType_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListEntityTypes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListEntityTypes", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*}/entityTypes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_ListEntityTypes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListEntityTypes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateEntityType", runtime.WithHTTPPathPattern("/v1beta1/{entity_type.name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_UpdateEntityType_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteEntityType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteEntityType", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_DeleteEntityType_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteEntityType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_CreateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeature", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_CreateFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_CreateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_BatchCreateFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchCreateFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_BatchCreateFeatures_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_BatchCreateFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_GetFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_GetFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_GetFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_ListFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeatures", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/featurestores/*/entityTypes/*}/features")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_ListFeatures_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ListFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_FeaturestoreService_UpdateFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeature", runtime.WithHTTPPathPattern("/v1beta1/{feature.name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_UpdateFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_UpdateFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_FeaturestoreService_DeleteFeature_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeature", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_DeleteFeature_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeature_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_ImportFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ImportFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:importFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_ImportFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ImportFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_BatchReadFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchReadFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{featurestore=projects/*/locations/*/featurestores/*}:batchReadFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_BatchReadFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_BatchReadFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_ExportFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ExportFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:exportFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_ExportFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_ExportFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_FeaturestoreService_DeleteFeatureValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeatureValues", runtime.WithHTTPPathPattern("/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:deleteFeatureValues")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_DeleteFeatureValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_DeleteFeatureValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_FeaturestoreService_SearchFeatures_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/SearchFeatures", runtime.WithHTTPPathPattern("/v1beta1/{location=projects/*/locations/*}/featurestores:searchFeatures")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_FeaturestoreService_SearchFeatures_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_FeaturestoreService_SearchFeatures_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_FeaturestoreService_CreateFeaturestore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featurestores"}, "")) + + pattern_FeaturestoreService_GetFeaturestore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featurestores", "name"}, "")) + + pattern_FeaturestoreService_ListFeaturestores_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "featurestores"}, "")) + + pattern_FeaturestoreService_UpdateFeaturestore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featurestores", "featurestore.name"}, "")) + + pattern_FeaturestoreService_DeleteFeaturestore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featurestores", "name"}, "")) + + pattern_FeaturestoreService_CreateEntityType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "parent", "entityTypes"}, "")) + + pattern_FeaturestoreService_GetEntityType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "name"}, "")) + + pattern_FeaturestoreService_ListEntityTypes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "parent", "entityTypes"}, "")) + + pattern_FeaturestoreService_UpdateEntityType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type.name"}, "")) + + pattern_FeaturestoreService_DeleteEntityType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "name"}, "")) + + pattern_FeaturestoreService_CreateFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "parent", "features"}, "")) + + pattern_FeaturestoreService_BatchCreateFeatures_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "parent", "features"}, "batchCreate")) + + pattern_FeaturestoreService_GetFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "features", "name"}, "")) + + pattern_FeaturestoreService_ListFeatures_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "parent", "features"}, "")) + + pattern_FeaturestoreService_UpdateFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "features", "feature.name"}, "")) + + pattern_FeaturestoreService_DeleteFeature_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "features", "name"}, "")) + + pattern_FeaturestoreService_ImportFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "importFeatureValues")) + + pattern_FeaturestoreService_BatchReadFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "featurestores", "featurestore"}, "batchReadFeatureValues")) + + pattern_FeaturestoreService_ExportFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "exportFeatureValues")) + + pattern_FeaturestoreService_DeleteFeatureValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "featurestores", "entityTypes", "entity_type"}, "deleteFeatureValues")) + + pattern_FeaturestoreService_SearchFeatures_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "location", "featurestores"}, "searchFeatures")) +) + +var ( + forward_FeaturestoreService_CreateFeaturestore_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_GetFeaturestore_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_ListFeaturestores_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_UpdateFeaturestore_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_DeleteFeaturestore_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_CreateEntityType_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_GetEntityType_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_ListEntityTypes_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_UpdateEntityType_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_DeleteEntityType_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_CreateFeature_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_BatchCreateFeatures_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_GetFeature_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_ListFeatures_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_UpdateFeature_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_DeleteFeature_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_ImportFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_BatchReadFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_ExportFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_DeleteFeatureValues_0 = runtime.ForwardResponseMessage + + forward_FeaturestoreService_SearchFeatures_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service_grpc.pb.go new file mode 100644 index 0000000000..c2286de298 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/featurestore_service_grpc.pb.go @@ -0,0 +1,938 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/featurestore_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// FeaturestoreServiceClient is the client API for FeaturestoreService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type FeaturestoreServiceClient interface { + // Creates a new Featurestore in a given project and location. + CreateFeaturestore(ctx context.Context, in *CreateFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single Featurestore. + GetFeaturestore(ctx context.Context, in *GetFeaturestoreRequest, opts ...grpc.CallOption) (*Featurestore, error) + // Lists Featurestores in a given project and location. + ListFeaturestores(ctx context.Context, in *ListFeaturestoresRequest, opts ...grpc.CallOption) (*ListFeaturestoresResponse, error) + // Updates the parameters of a single Featurestore. + UpdateFeaturestore(ctx context.Context, in *UpdateFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single Featurestore. The Featurestore must not contain any + // EntityTypes or `force` must be set to true for the request to succeed. + DeleteFeaturestore(ctx context.Context, in *DeleteFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a new EntityType in a given Featurestore. + CreateEntityType(ctx context.Context, in *CreateEntityTypeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single EntityType. + GetEntityType(ctx context.Context, in *GetEntityTypeRequest, opts ...grpc.CallOption) (*EntityType, error) + // Lists EntityTypes in a given Featurestore. + ListEntityTypes(ctx context.Context, in *ListEntityTypesRequest, opts ...grpc.CallOption) (*ListEntityTypesResponse, error) + // Updates the parameters of a single EntityType. + UpdateEntityType(ctx context.Context, in *UpdateEntityTypeRequest, opts ...grpc.CallOption) (*EntityType, error) + // Deletes a single EntityType. The EntityType must not have any Features + // or `force` must be set to true for the request to succeed. + DeleteEntityType(ctx context.Context, in *DeleteEntityTypeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a new Feature in a given EntityType. + CreateFeature(ctx context.Context, in *CreateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a batch of Features in a given EntityType. + BatchCreateFeatures(ctx context.Context, in *BatchCreateFeaturesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of a single Feature. + GetFeature(ctx context.Context, in *GetFeatureRequest, opts ...grpc.CallOption) (*Feature, error) + // Lists Features in a given EntityType. + ListFeatures(ctx context.Context, in *ListFeaturesRequest, opts ...grpc.CallOption) (*ListFeaturesResponse, error) + // Updates the parameters of a single Feature. + UpdateFeature(ctx context.Context, in *UpdateFeatureRequest, opts ...grpc.CallOption) (*Feature, error) + // Deletes a single Feature. + DeleteFeature(ctx context.Context, in *DeleteFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Imports Feature values into the Featurestore from a source storage. + // + // The progress of the import is tracked by the returned operation. The + // imported features are guaranteed to be visible to subsequent read + // operations after the operation is marked as successfully done. + // + // If an import operation fails, the Feature values returned from + // reads and exports may be inconsistent. If consistency is + // required, the caller must retry the same import request again and wait till + // the new operation returned is marked as successfully done. + // + // There are also scenarios where the caller can cause inconsistency. + // + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. + ImportFeatureValues(ctx context.Context, in *ImportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Batch reads Feature values from a Featurestore. + // + // This API enables batch reading Feature values, where each read + // instance in the batch may read Feature values of entities from one or + // more EntityTypes. Point-in-time correctness is guaranteed for Feature + // values of each read instance as of each instance's read timestamp. + BatchReadFeatureValues(ctx context.Context, in *BatchReadFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Exports Feature values from all the entities of a target EntityType. + ExportFeatureValues(ctx context.Context, in *ExportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Delete Feature values from Featurestore. + // + // The progress of the deletion is tracked by the returned operation. The + // deleted feature values are guaranteed to be invisible to subsequent read + // operations after the operation is marked as successfully done. + // + // If a delete feature values operation fails, the feature values + // returned from reads and exports may be inconsistent. If consistency is + // required, the caller must retry the same delete request again and wait till + // the new operation returned is marked as successfully done. + DeleteFeatureValues(ctx context.Context, in *DeleteFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Searches Features matching a query in a given project. + SearchFeatures(ctx context.Context, in *SearchFeaturesRequest, opts ...grpc.CallOption) (*SearchFeaturesResponse, error) +} + +type featurestoreServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFeaturestoreServiceClient(cc grpc.ClientConnInterface) FeaturestoreServiceClient { + return &featurestoreServiceClient{cc} +} + +func (c *featurestoreServiceClient) CreateFeaturestore(ctx context.Context, in *CreateFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeaturestore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) GetFeaturestore(ctx context.Context, in *GetFeaturestoreRequest, opts ...grpc.CallOption) (*Featurestore, error) { + out := new(Featurestore) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeaturestore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) ListFeaturestores(ctx context.Context, in *ListFeaturestoresRequest, opts ...grpc.CallOption) (*ListFeaturestoresResponse, error) { + out := new(ListFeaturestoresResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeaturestores", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) UpdateFeaturestore(ctx context.Context, in *UpdateFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeaturestore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) DeleteFeaturestore(ctx context.Context, in *DeleteFeaturestoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeaturestore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) CreateEntityType(ctx context.Context, in *CreateEntityTypeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateEntityType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) GetEntityType(ctx context.Context, in *GetEntityTypeRequest, opts ...grpc.CallOption) (*EntityType, error) { + out := new(EntityType) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetEntityType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) ListEntityTypes(ctx context.Context, in *ListEntityTypesRequest, opts ...grpc.CallOption) (*ListEntityTypesResponse, error) { + out := new(ListEntityTypesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListEntityTypes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) UpdateEntityType(ctx context.Context, in *UpdateEntityTypeRequest, opts ...grpc.CallOption) (*EntityType, error) { + out := new(EntityType) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateEntityType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) DeleteEntityType(ctx context.Context, in *DeleteEntityTypeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteEntityType", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) CreateFeature(ctx context.Context, in *CreateFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) BatchCreateFeatures(ctx context.Context, in *BatchCreateFeaturesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchCreateFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) GetFeature(ctx context.Context, in *GetFeatureRequest, opts ...grpc.CallOption) (*Feature, error) { + out := new(Feature) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) ListFeatures(ctx context.Context, in *ListFeaturesRequest, opts ...grpc.CallOption) (*ListFeaturesResponse, error) { + out := new(ListFeaturesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) UpdateFeature(ctx context.Context, in *UpdateFeatureRequest, opts ...grpc.CallOption) (*Feature, error) { + out := new(Feature) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) DeleteFeature(ctx context.Context, in *DeleteFeatureRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) ImportFeatureValues(ctx context.Context, in *ImportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ImportFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) BatchReadFeatureValues(ctx context.Context, in *BatchReadFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchReadFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) ExportFeatureValues(ctx context.Context, in *ExportFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ExportFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) DeleteFeatureValues(ctx context.Context, in *DeleteFeatureValuesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeatureValues", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *featurestoreServiceClient) SearchFeatures(ctx context.Context, in *SearchFeaturesRequest, opts ...grpc.CallOption) (*SearchFeaturesResponse, error) { + out := new(SearchFeaturesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/SearchFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FeaturestoreServiceServer is the server API for FeaturestoreService service. +// All implementations must embed UnimplementedFeaturestoreServiceServer +// for forward compatibility +type FeaturestoreServiceServer interface { + // Creates a new Featurestore in a given project and location. + CreateFeaturestore(context.Context, *CreateFeaturestoreRequest) (*longrunningpb.Operation, error) + // Gets details of a single Featurestore. + GetFeaturestore(context.Context, *GetFeaturestoreRequest) (*Featurestore, error) + // Lists Featurestores in a given project and location. + ListFeaturestores(context.Context, *ListFeaturestoresRequest) (*ListFeaturestoresResponse, error) + // Updates the parameters of a single Featurestore. + UpdateFeaturestore(context.Context, *UpdateFeaturestoreRequest) (*longrunningpb.Operation, error) + // Deletes a single Featurestore. The Featurestore must not contain any + // EntityTypes or `force` must be set to true for the request to succeed. + DeleteFeaturestore(context.Context, *DeleteFeaturestoreRequest) (*longrunningpb.Operation, error) + // Creates a new EntityType in a given Featurestore. + CreateEntityType(context.Context, *CreateEntityTypeRequest) (*longrunningpb.Operation, error) + // Gets details of a single EntityType. + GetEntityType(context.Context, *GetEntityTypeRequest) (*EntityType, error) + // Lists EntityTypes in a given Featurestore. + ListEntityTypes(context.Context, *ListEntityTypesRequest) (*ListEntityTypesResponse, error) + // Updates the parameters of a single EntityType. + UpdateEntityType(context.Context, *UpdateEntityTypeRequest) (*EntityType, error) + // Deletes a single EntityType. The EntityType must not have any Features + // or `force` must be set to true for the request to succeed. + DeleteEntityType(context.Context, *DeleteEntityTypeRequest) (*longrunningpb.Operation, error) + // Creates a new Feature in a given EntityType. + CreateFeature(context.Context, *CreateFeatureRequest) (*longrunningpb.Operation, error) + // Creates a batch of Features in a given EntityType. + BatchCreateFeatures(context.Context, *BatchCreateFeaturesRequest) (*longrunningpb.Operation, error) + // Gets details of a single Feature. + GetFeature(context.Context, *GetFeatureRequest) (*Feature, error) + // Lists Features in a given EntityType. + ListFeatures(context.Context, *ListFeaturesRequest) (*ListFeaturesResponse, error) + // Updates the parameters of a single Feature. + UpdateFeature(context.Context, *UpdateFeatureRequest) (*Feature, error) + // Deletes a single Feature. + DeleteFeature(context.Context, *DeleteFeatureRequest) (*longrunningpb.Operation, error) + // Imports Feature values into the Featurestore from a source storage. + // + // The progress of the import is tracked by the returned operation. The + // imported features are guaranteed to be visible to subsequent read + // operations after the operation is marked as successfully done. + // + // If an import operation fails, the Feature values returned from + // reads and exports may be inconsistent. If consistency is + // required, the caller must retry the same import request again and wait till + // the new operation returned is marked as successfully done. + // + // There are also scenarios where the caller can cause inconsistency. + // + // - Source data for import contains multiple distinct Feature values for + // the same entity ID and timestamp. + // - Source is modified during an import. This includes adding, updating, or + // removing source data and/or metadata. Examples of updating metadata + // include but are not limited to changing storage location, storage class, + // or retention policy. + // - Online serving cluster is under-provisioned. + ImportFeatureValues(context.Context, *ImportFeatureValuesRequest) (*longrunningpb.Operation, error) + // Batch reads Feature values from a Featurestore. + // + // This API enables batch reading Feature values, where each read + // instance in the batch may read Feature values of entities from one or + // more EntityTypes. Point-in-time correctness is guaranteed for Feature + // values of each read instance as of each instance's read timestamp. + BatchReadFeatureValues(context.Context, *BatchReadFeatureValuesRequest) (*longrunningpb.Operation, error) + // Exports Feature values from all the entities of a target EntityType. + ExportFeatureValues(context.Context, *ExportFeatureValuesRequest) (*longrunningpb.Operation, error) + // Delete Feature values from Featurestore. + // + // The progress of the deletion is tracked by the returned operation. The + // deleted feature values are guaranteed to be invisible to subsequent read + // operations after the operation is marked as successfully done. + // + // If a delete feature values operation fails, the feature values + // returned from reads and exports may be inconsistent. If consistency is + // required, the caller must retry the same delete request again and wait till + // the new operation returned is marked as successfully done. + DeleteFeatureValues(context.Context, *DeleteFeatureValuesRequest) (*longrunningpb.Operation, error) + // Searches Features matching a query in a given project. + SearchFeatures(context.Context, *SearchFeaturesRequest) (*SearchFeaturesResponse, error) + mustEmbedUnimplementedFeaturestoreServiceServer() +} + +// UnimplementedFeaturestoreServiceServer must be embedded to have forward compatible implementations. +type UnimplementedFeaturestoreServiceServer struct { +} + +func (UnimplementedFeaturestoreServiceServer) CreateFeaturestore(context.Context, *CreateFeaturestoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeaturestore not implemented") +} +func (UnimplementedFeaturestoreServiceServer) GetFeaturestore(context.Context, *GetFeaturestoreRequest) (*Featurestore, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeaturestore not implemented") +} +func (UnimplementedFeaturestoreServiceServer) ListFeaturestores(context.Context, *ListFeaturestoresRequest) (*ListFeaturestoresResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeaturestores not implemented") +} +func (UnimplementedFeaturestoreServiceServer) UpdateFeaturestore(context.Context, *UpdateFeaturestoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeaturestore not implemented") +} +func (UnimplementedFeaturestoreServiceServer) DeleteFeaturestore(context.Context, *DeleteFeaturestoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeaturestore not implemented") +} +func (UnimplementedFeaturestoreServiceServer) CreateEntityType(context.Context, *CreateEntityTypeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEntityType not implemented") +} +func (UnimplementedFeaturestoreServiceServer) GetEntityType(context.Context, *GetEntityTypeRequest) (*EntityType, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEntityType not implemented") +} +func (UnimplementedFeaturestoreServiceServer) ListEntityTypes(context.Context, *ListEntityTypesRequest) (*ListEntityTypesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEntityTypes not implemented") +} +func (UnimplementedFeaturestoreServiceServer) UpdateEntityType(context.Context, *UpdateEntityTypeRequest) (*EntityType, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEntityType not implemented") +} +func (UnimplementedFeaturestoreServiceServer) DeleteEntityType(context.Context, *DeleteEntityTypeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEntityType not implemented") +} +func (UnimplementedFeaturestoreServiceServer) CreateFeature(context.Context, *CreateFeatureRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFeature not implemented") +} +func (UnimplementedFeaturestoreServiceServer) BatchCreateFeatures(context.Context, *BatchCreateFeaturesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateFeatures not implemented") +} +func (UnimplementedFeaturestoreServiceServer) GetFeature(context.Context, *GetFeatureRequest) (*Feature, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFeature not implemented") +} +func (UnimplementedFeaturestoreServiceServer) ListFeatures(context.Context, *ListFeaturesRequest) (*ListFeaturesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFeatures not implemented") +} +func (UnimplementedFeaturestoreServiceServer) UpdateFeature(context.Context, *UpdateFeatureRequest) (*Feature, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateFeature not implemented") +} +func (UnimplementedFeaturestoreServiceServer) DeleteFeature(context.Context, *DeleteFeatureRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeature not implemented") +} +func (UnimplementedFeaturestoreServiceServer) ImportFeatureValues(context.Context, *ImportFeatureValuesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportFeatureValues not implemented") +} +func (UnimplementedFeaturestoreServiceServer) BatchReadFeatureValues(context.Context, *BatchReadFeatureValuesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchReadFeatureValues not implemented") +} +func (UnimplementedFeaturestoreServiceServer) ExportFeatureValues(context.Context, *ExportFeatureValuesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportFeatureValues not implemented") +} +func (UnimplementedFeaturestoreServiceServer) DeleteFeatureValues(context.Context, *DeleteFeatureValuesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFeatureValues not implemented") +} +func (UnimplementedFeaturestoreServiceServer) SearchFeatures(context.Context, *SearchFeaturesRequest) (*SearchFeaturesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchFeatures not implemented") +} +func (UnimplementedFeaturestoreServiceServer) mustEmbedUnimplementedFeaturestoreServiceServer() {} + +// UnsafeFeaturestoreServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to FeaturestoreServiceServer will +// result in compilation errors. +type UnsafeFeaturestoreServiceServer interface { + mustEmbedUnimplementedFeaturestoreServiceServer() +} + +func RegisterFeaturestoreServiceServer(s grpc.ServiceRegistrar, srv FeaturestoreServiceServer) { + s.RegisterService(&FeaturestoreService_ServiceDesc, srv) +} + +func _FeaturestoreService_CreateFeaturestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeaturestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).CreateFeaturestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeaturestore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).CreateFeaturestore(ctx, req.(*CreateFeaturestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_GetFeaturestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeaturestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).GetFeaturestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeaturestore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).GetFeaturestore(ctx, req.(*GetFeaturestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_ListFeaturestores_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeaturestoresRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).ListFeaturestores(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeaturestores", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).ListFeaturestores(ctx, req.(*ListFeaturestoresRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_UpdateFeaturestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeaturestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).UpdateFeaturestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeaturestore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).UpdateFeaturestore(ctx, req.(*UpdateFeaturestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_DeleteFeaturestore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeaturestoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).DeleteFeaturestore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeaturestore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).DeleteFeaturestore(ctx, req.(*DeleteFeaturestoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_CreateEntityType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEntityTypeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).CreateEntityType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateEntityType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).CreateEntityType(ctx, req.(*CreateEntityTypeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_GetEntityType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEntityTypeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).GetEntityType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetEntityType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).GetEntityType(ctx, req.(*GetEntityTypeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_ListEntityTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEntityTypesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).ListEntityTypes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListEntityTypes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).ListEntityTypes(ctx, req.(*ListEntityTypesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_UpdateEntityType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEntityTypeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).UpdateEntityType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateEntityType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).UpdateEntityType(ctx, req.(*UpdateEntityTypeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_DeleteEntityType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEntityTypeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).DeleteEntityType(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteEntityType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).DeleteEntityType(ctx, req.(*DeleteEntityTypeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_CreateFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).CreateFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/CreateFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).CreateFeature(ctx, req.(*CreateFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_BatchCreateFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateFeaturesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).BatchCreateFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchCreateFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).BatchCreateFeatures(ctx, req.(*BatchCreateFeaturesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_GetFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).GetFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/GetFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).GetFeature(ctx, req.(*GetFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_ListFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFeaturesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).ListFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ListFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).ListFeatures(ctx, req.(*ListFeaturesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_UpdateFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).UpdateFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/UpdateFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).UpdateFeature(ctx, req.(*UpdateFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_DeleteFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).DeleteFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).DeleteFeature(ctx, req.(*DeleteFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_ImportFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).ImportFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ImportFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).ImportFeatureValues(ctx, req.(*ImportFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_BatchReadFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchReadFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).BatchReadFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/BatchReadFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).BatchReadFeatureValues(ctx, req.(*BatchReadFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_ExportFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).ExportFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/ExportFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).ExportFeatureValues(ctx, req.(*ExportFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_DeleteFeatureValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFeatureValuesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).DeleteFeatureValues(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/DeleteFeatureValues", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).DeleteFeatureValues(ctx, req.(*DeleteFeatureValuesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FeaturestoreService_SearchFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchFeaturesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FeaturestoreServiceServer).SearchFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService/SearchFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FeaturestoreServiceServer).SearchFeatures(ctx, req.(*SearchFeaturesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// FeaturestoreService_ServiceDesc is the grpc.ServiceDesc for FeaturestoreService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var FeaturestoreService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.FeaturestoreService", + HandlerType: (*FeaturestoreServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateFeaturestore", + Handler: _FeaturestoreService_CreateFeaturestore_Handler, + }, + { + MethodName: "GetFeaturestore", + Handler: _FeaturestoreService_GetFeaturestore_Handler, + }, + { + MethodName: "ListFeaturestores", + Handler: _FeaturestoreService_ListFeaturestores_Handler, + }, + { + MethodName: "UpdateFeaturestore", + Handler: _FeaturestoreService_UpdateFeaturestore_Handler, + }, + { + MethodName: "DeleteFeaturestore", + Handler: _FeaturestoreService_DeleteFeaturestore_Handler, + }, + { + MethodName: "CreateEntityType", + Handler: _FeaturestoreService_CreateEntityType_Handler, + }, + { + MethodName: "GetEntityType", + Handler: _FeaturestoreService_GetEntityType_Handler, + }, + { + MethodName: "ListEntityTypes", + Handler: _FeaturestoreService_ListEntityTypes_Handler, + }, + { + MethodName: "UpdateEntityType", + Handler: _FeaturestoreService_UpdateEntityType_Handler, + }, + { + MethodName: "DeleteEntityType", + Handler: _FeaturestoreService_DeleteEntityType_Handler, + }, + { + MethodName: "CreateFeature", + Handler: _FeaturestoreService_CreateFeature_Handler, + }, + { + MethodName: "BatchCreateFeatures", + Handler: _FeaturestoreService_BatchCreateFeatures_Handler, + }, + { + MethodName: "GetFeature", + Handler: _FeaturestoreService_GetFeature_Handler, + }, + { + MethodName: "ListFeatures", + Handler: _FeaturestoreService_ListFeatures_Handler, + }, + { + MethodName: "UpdateFeature", + Handler: _FeaturestoreService_UpdateFeature_Handler, + }, + { + MethodName: "DeleteFeature", + Handler: _FeaturestoreService_DeleteFeature_Handler, + }, + { + MethodName: "ImportFeatureValues", + Handler: _FeaturestoreService_ImportFeatureValues_Handler, + }, + { + MethodName: "BatchReadFeatureValues", + Handler: _FeaturestoreService_BatchReadFeatureValues_Handler, + }, + { + MethodName: "ExportFeatureValues", + Handler: _FeaturestoreService_ExportFeatureValues_Handler, + }, + { + MethodName: "DeleteFeatureValues", + Handler: _FeaturestoreService_DeleteFeatureValues_Handler, + }, + { + MethodName: "SearchFeatures", + Handler: _FeaturestoreService_SearchFeatures_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/featurestore_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.pb.go new file mode 100644 index 0000000000..6d86c7f595 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.pb.go @@ -0,0 +1,456 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a HyperparameterTuningJob. A HyperparameterTuningJob +// has a Study specification and multiple CustomJobs with identical +// CustomJob specification. +type HyperparameterTuningJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the HyperparameterTuningJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the HyperparameterTuningJob. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Study configuration of the HyperparameterTuningJob. + StudySpec *StudySpec `protobuf:"bytes,4,opt,name=study_spec,json=studySpec,proto3" json:"study_spec,omitempty"` + // Required. The desired total number of Trials. + MaxTrialCount int32 `protobuf:"varint,5,opt,name=max_trial_count,json=maxTrialCount,proto3" json:"max_trial_count,omitempty"` + // Required. The desired number of Trials to run in parallel. + ParallelTrialCount int32 `protobuf:"varint,6,opt,name=parallel_trial_count,json=parallelTrialCount,proto3" json:"parallel_trial_count,omitempty"` + // The number of failed Trials that need to be seen before failing + // the HyperparameterTuningJob. + // + // If set to 0, Vertex AI decides how many Trials must fail + // before the whole job fails. + MaxFailedTrialCount int32 `protobuf:"varint,7,opt,name=max_failed_trial_count,json=maxFailedTrialCount,proto3" json:"max_failed_trial_count,omitempty"` + // Required. The spec of a trial job. The same spec applies to the CustomJobs + // created in all the trials. + TrialJobSpec *CustomJobSpec `protobuf:"bytes,8,opt,name=trial_job_spec,json=trialJobSpec,proto3" json:"trial_job_spec,omitempty"` + // Output only. Trials of the HyperparameterTuningJob. + Trials []*Trial `protobuf:"bytes,9,rep,name=trials,proto3" json:"trials,omitempty"` + // Output only. The detailed state of the job. + State JobState `protobuf:"varint,10,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Time when the HyperparameterTuningJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the HyperparameterTuningJob for the first time + // entered the `JOB_STATE_RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the HyperparameterTuningJob entered any of the + // following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, + // `JOB_STATE_CANCELLED`. + EndTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Time when the HyperparameterTuningJob was most recently + // updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Only populated when job's state is JOB_STATE_FAILED or + // JOB_STATE_CANCELLED. + Error *status.Status `protobuf:"bytes,15,opt,name=error,proto3" json:"error,omitempty"` + // The labels with user-defined metadata to organize HyperparameterTuningJobs. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,16,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key options for a HyperparameterTuningJob. + // If this is set, then all resources created by the HyperparameterTuningJob + // will be encrypted with the provided encryption key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,17,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *HyperparameterTuningJob) Reset() { + *x = HyperparameterTuningJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HyperparameterTuningJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HyperparameterTuningJob) ProtoMessage() {} + +func (x *HyperparameterTuningJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_msgTypes[0] + 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 HyperparameterTuningJob.ProtoReflect.Descriptor instead. +func (*HyperparameterTuningJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescGZIP(), []int{0} +} + +func (x *HyperparameterTuningJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HyperparameterTuningJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *HyperparameterTuningJob) GetStudySpec() *StudySpec { + if x != nil { + return x.StudySpec + } + return nil +} + +func (x *HyperparameterTuningJob) GetMaxTrialCount() int32 { + if x != nil { + return x.MaxTrialCount + } + return 0 +} + +func (x *HyperparameterTuningJob) GetParallelTrialCount() int32 { + if x != nil { + return x.ParallelTrialCount + } + return 0 +} + +func (x *HyperparameterTuningJob) GetMaxFailedTrialCount() int32 { + if x != nil { + return x.MaxFailedTrialCount + } + return 0 +} + +func (x *HyperparameterTuningJob) GetTrialJobSpec() *CustomJobSpec { + if x != nil { + return x.TrialJobSpec + } + return nil +} + +func (x *HyperparameterTuningJob) GetTrials() []*Trial { + if x != nil { + return x.Trials + } + return nil +} + +func (x *HyperparameterTuningJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *HyperparameterTuningJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *HyperparameterTuningJob) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *HyperparameterTuningJob) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *HyperparameterTuningJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *HyperparameterTuningJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *HyperparameterTuningJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *HyperparameterTuningJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDesc = []byte{ + 0x0a, 0x40, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x31, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, + 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x73, 0x74, 0x75, 0x64, 0x79, 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, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x09, 0x0a, 0x17, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x75, 0x64, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x2b, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x35, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x69, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x54, 0x72, 0x69, + 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x0e, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, + 0x62, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x44, 0x0a, 0x06, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x45, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 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, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 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, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0d, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0e, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x95, 0x01, 0xea, 0x41, 0x91, 0x01, + 0x0a, 0x31, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x79, 0x70, + 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, + 0x7d, 0x42, 0xf4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1c, 0x48, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_goTypes = []interface{}{ + (*HyperparameterTuningJob)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.LabelsEntry + (*StudySpec)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.StudySpec + (*CustomJobSpec)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + (*Trial)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.Trial + (JobState)(0), // 5: mockgcp.cloud.aiplatform.v1beta1.JobState + (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*status.Status)(nil), // 7: google.rpc.Status + (*EncryptionSpec)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.study_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trial_job_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + 4, // 2: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trials:type_name -> mockgcp.cloud.aiplatform.v1beta1.Trial + 5, // 3: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.create_time:type_name -> google.protobuf.Timestamp + 6, // 5: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.start_time:type_name -> google.protobuf.Timestamp + 6, // 6: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.end_time:type_name -> google.protobuf.Timestamp + 6, // 7: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.update_time:type_name -> google.protobuf.Timestamp + 7, // 8: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.error:type_name -> google.rpc.Status + 1, // 9: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.LabelsEntry + 8, // 10: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HyperparameterTuningJob); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index.pb.go new file mode 100644 index 0000000000..9371e98a96 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index.pb.go @@ -0,0 +1,1075 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The update method of an Index. +type Index_IndexUpdateMethod int32 + +const ( + // Should not be used. + Index_INDEX_UPDATE_METHOD_UNSPECIFIED Index_IndexUpdateMethod = 0 + // BatchUpdate: user can call UpdateIndex with files on Cloud Storage of + // Datapoints to update. + Index_BATCH_UPDATE Index_IndexUpdateMethod = 1 + // StreamUpdate: user can call UpsertDatapoints/DeleteDatapoints to update + // the Index and the updates will be applied in corresponding + // DeployedIndexes in nearly real-time. + Index_STREAM_UPDATE Index_IndexUpdateMethod = 2 +) + +// Enum value maps for Index_IndexUpdateMethod. +var ( + Index_IndexUpdateMethod_name = map[int32]string{ + 0: "INDEX_UPDATE_METHOD_UNSPECIFIED", + 1: "BATCH_UPDATE", + 2: "STREAM_UPDATE", + } + Index_IndexUpdateMethod_value = map[string]int32{ + "INDEX_UPDATE_METHOD_UNSPECIFIED": 0, + "BATCH_UPDATE": 1, + "STREAM_UPDATE": 2, + } +) + +func (x Index_IndexUpdateMethod) Enum() *Index_IndexUpdateMethod { + p := new(Index_IndexUpdateMethod) + *p = x + return p +} + +func (x Index_IndexUpdateMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Index_IndexUpdateMethod) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes[0].Descriptor() +} + +func (Index_IndexUpdateMethod) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes[0] +} + +func (x Index_IndexUpdateMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Index_IndexUpdateMethod.Descriptor instead. +func (Index_IndexUpdateMethod) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{0, 0} +} + +// Which comparison operator to use. Should be specified for queries only; +// specifying this for a datapoint is an error. +// +// Datapoints for which Operator is true relative to the query's Value +// field will be allowlisted. +type IndexDatapoint_NumericRestriction_Operator int32 + +const ( + // Default value of the enum. + IndexDatapoint_NumericRestriction_OPERATOR_UNSPECIFIED IndexDatapoint_NumericRestriction_Operator = 0 + // Datapoints are eligible iff their value is < the query's. + IndexDatapoint_NumericRestriction_LESS IndexDatapoint_NumericRestriction_Operator = 1 + // Datapoints are eligible iff their value is <= the query's. + IndexDatapoint_NumericRestriction_LESS_EQUAL IndexDatapoint_NumericRestriction_Operator = 2 + // Datapoints are eligible iff their value is == the query's. + IndexDatapoint_NumericRestriction_EQUAL IndexDatapoint_NumericRestriction_Operator = 3 + // Datapoints are eligible iff their value is >= the query's. + IndexDatapoint_NumericRestriction_GREATER_EQUAL IndexDatapoint_NumericRestriction_Operator = 4 + // Datapoints are eligible iff their value is > the query's. + IndexDatapoint_NumericRestriction_GREATER IndexDatapoint_NumericRestriction_Operator = 5 +) + +// Enum value maps for IndexDatapoint_NumericRestriction_Operator. +var ( + IndexDatapoint_NumericRestriction_Operator_name = map[int32]string{ + 0: "OPERATOR_UNSPECIFIED", + 1: "LESS", + 2: "LESS_EQUAL", + 3: "EQUAL", + 4: "GREATER_EQUAL", + 5: "GREATER", + } + IndexDatapoint_NumericRestriction_Operator_value = map[string]int32{ + "OPERATOR_UNSPECIFIED": 0, + "LESS": 1, + "LESS_EQUAL": 2, + "EQUAL": 3, + "GREATER_EQUAL": 4, + "GREATER": 5, + } +) + +func (x IndexDatapoint_NumericRestriction_Operator) Enum() *IndexDatapoint_NumericRestriction_Operator { + p := new(IndexDatapoint_NumericRestriction_Operator) + *p = x + return p +} + +func (x IndexDatapoint_NumericRestriction_Operator) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IndexDatapoint_NumericRestriction_Operator) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes[1].Descriptor() +} + +func (IndexDatapoint_NumericRestriction_Operator) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes[1] +} + +func (x IndexDatapoint_NumericRestriction_Operator) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IndexDatapoint_NumericRestriction_Operator.Descriptor instead. +func (IndexDatapoint_NumericRestriction_Operator) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 1, 0} +} + +// A representation of a collection of database items organized in a way that +// allows for approximate nearest neighbor (a.k.a ANN) algorithms search. +type Index struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Index. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the Index. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the Index. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Immutable. Points to a YAML file stored on Google Cloud Storage describing + // additional information about the Index, that is specific to it. Unset if + // the Index does not have any additional information. The schema is defined + // as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + MetadataSchemaUri string `protobuf:"bytes,4,opt,name=metadata_schema_uri,json=metadataSchemaUri,proto3" json:"metadata_schema_uri,omitempty"` + // An additional information about the Index; the schema of the metadata can + // be found in + // [metadata_schema][mockgcp.cloud.aiplatform.v1beta1.Index.metadata_schema_uri]. + Metadata *_struct.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Output only. The pointers to DeployedIndexes created from this Index. + // An Index can be only deleted if all its DeployedIndexes had been undeployed + // first. + DeployedIndexes []*DeployedIndexRef `protobuf:"bytes,7,rep,name=deployed_indexes,json=deployedIndexes,proto3" json:"deployed_indexes,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Indexes. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this Index was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Index was most recently updated. + // This also includes any update to the contents of the Index. + // Note that Operations working on this Index may have their + // [Operations.metadata.generic_metadata.update_time] + // [mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time] a + // little after the value of this timestamp, yet that does not mean their + // results are not already reflected in the Index. Result of any successfully + // completed Operation on the Index is reflected in it. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Stats of the index resource. + IndexStats *IndexStats `protobuf:"bytes,14,opt,name=index_stats,json=indexStats,proto3" json:"index_stats,omitempty"` + // Immutable. The update method to use with this Index. If not set, + // BATCH_UPDATE will be used by default. + IndexUpdateMethod Index_IndexUpdateMethod `protobuf:"varint,16,opt,name=index_update_method,json=indexUpdateMethod,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Index_IndexUpdateMethod" json:"index_update_method,omitempty"` + // Immutable. Customer-managed encryption key spec for an Index. If set, this + // Index and all sub-resources of this Index will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,17,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *Index) Reset() { + *x = Index{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Index) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Index) ProtoMessage() {} + +func (x *Index) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[0] + 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 Index.ProtoReflect.Descriptor instead. +func (*Index) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{0} +} + +func (x *Index) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Index) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Index) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Index) GetMetadataSchemaUri() string { + if x != nil { + return x.MetadataSchemaUri + } + return "" +} + +func (x *Index) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Index) GetDeployedIndexes() []*DeployedIndexRef { + if x != nil { + return x.DeployedIndexes + } + return nil +} + +func (x *Index) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Index) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Index) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Index) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Index) GetIndexStats() *IndexStats { + if x != nil { + return x.IndexStats + } + return nil +} + +func (x *Index) GetIndexUpdateMethod() Index_IndexUpdateMethod { + if x != nil { + return x.IndexUpdateMethod + } + return Index_INDEX_UPDATE_METHOD_UNSPECIFIED +} + +func (x *Index) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +// A datapoint of Index. +type IndexDatapoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Unique identifier of the datapoint. + DatapointId string `protobuf:"bytes,1,opt,name=datapoint_id,json=datapointId,proto3" json:"datapoint_id,omitempty"` + // Required. Feature embedding vector. An array of numbers with the length of + // [NearestNeighborSearchConfig.dimensions]. + FeatureVector []float32 `protobuf:"fixed32,2,rep,packed,name=feature_vector,json=featureVector,proto3" json:"feature_vector,omitempty"` + // Optional. List of Restrict of the datapoint, used to perform "restricted + // searches" where boolean rule are used to filter the subset of the database + // eligible for matching. This uses categorical tokens. See: + // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering + Restricts []*IndexDatapoint_Restriction `protobuf:"bytes,4,rep,name=restricts,proto3" json:"restricts,omitempty"` + // Optional. List of Restrict of the datapoint, used to perform "restricted + // searches" where boolean rule are used to filter the subset of the database + // eligible for matching. This uses numeric comparisons. + NumericRestricts []*IndexDatapoint_NumericRestriction `protobuf:"bytes,6,rep,name=numeric_restricts,json=numericRestricts,proto3" json:"numeric_restricts,omitempty"` + // Optional. CrowdingTag of the datapoint, the number of neighbors to return + // in each crowding can be configured during query. + CrowdingTag *IndexDatapoint_CrowdingTag `protobuf:"bytes,5,opt,name=crowding_tag,json=crowdingTag,proto3" json:"crowding_tag,omitempty"` +} + +func (x *IndexDatapoint) Reset() { + *x = IndexDatapoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexDatapoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexDatapoint) ProtoMessage() {} + +func (x *IndexDatapoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[1] + 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 IndexDatapoint.ProtoReflect.Descriptor instead. +func (*IndexDatapoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1} +} + +func (x *IndexDatapoint) GetDatapointId() string { + if x != nil { + return x.DatapointId + } + return "" +} + +func (x *IndexDatapoint) GetFeatureVector() []float32 { + if x != nil { + return x.FeatureVector + } + return nil +} + +func (x *IndexDatapoint) GetRestricts() []*IndexDatapoint_Restriction { + if x != nil { + return x.Restricts + } + return nil +} + +func (x *IndexDatapoint) GetNumericRestricts() []*IndexDatapoint_NumericRestriction { + if x != nil { + return x.NumericRestricts + } + return nil +} + +func (x *IndexDatapoint) GetCrowdingTag() *IndexDatapoint_CrowdingTag { + if x != nil { + return x.CrowdingTag + } + return nil +} + +// Stats of the Index. +type IndexStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The number of vectors in the Index. + VectorsCount int64 `protobuf:"varint,1,opt,name=vectors_count,json=vectorsCount,proto3" json:"vectors_count,omitempty"` + // Output only. The number of shards in the Index. + ShardsCount int32 `protobuf:"varint,2,opt,name=shards_count,json=shardsCount,proto3" json:"shards_count,omitempty"` +} + +func (x *IndexStats) Reset() { + *x = IndexStats{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexStats) ProtoMessage() {} + +func (x *IndexStats) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_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 IndexStats.ProtoReflect.Descriptor instead. +func (*IndexStats) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{2} +} + +func (x *IndexStats) GetVectorsCount() int64 { + if x != nil { + return x.VectorsCount + } + return 0 +} + +func (x *IndexStats) GetShardsCount() int32 { + if x != nil { + return x.ShardsCount + } + return 0 +} + +// Restriction of a datapoint which describe its attributes(tokens) from each +// of several attribute categories(namespaces). +type IndexDatapoint_Restriction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The namespace of this restriction. e.g.: color. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The attributes to allow in this namespace. e.g.: 'red' + AllowList []string `protobuf:"bytes,2,rep,name=allow_list,json=allowList,proto3" json:"allow_list,omitempty"` + // The attributes to deny in this namespace. e.g.: 'blue' + DenyList []string `protobuf:"bytes,3,rep,name=deny_list,json=denyList,proto3" json:"deny_list,omitempty"` +} + +func (x *IndexDatapoint_Restriction) Reset() { + *x = IndexDatapoint_Restriction{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexDatapoint_Restriction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexDatapoint_Restriction) ProtoMessage() {} + +func (x *IndexDatapoint_Restriction) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[4] + 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 IndexDatapoint_Restriction.ProtoReflect.Descriptor instead. +func (*IndexDatapoint_Restriction) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *IndexDatapoint_Restriction) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *IndexDatapoint_Restriction) GetAllowList() []string { + if x != nil { + return x.AllowList + } + return nil +} + +func (x *IndexDatapoint_Restriction) GetDenyList() []string { + if x != nil { + return x.DenyList + } + return nil +} + +// This field allows restricts to be based on numeric comparisons rather +// than categorical tokens. +type IndexDatapoint_NumericRestriction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of Value must be consistent for all datapoints with a given + // namespace name. This is verified at runtime. + // + // Types that are assignable to Value: + // + // *IndexDatapoint_NumericRestriction_ValueInt + // *IndexDatapoint_NumericRestriction_ValueFloat + // *IndexDatapoint_NumericRestriction_ValueDouble + Value isIndexDatapoint_NumericRestriction_Value `protobuf_oneof:"Value"` + // The namespace of this restriction. e.g.: cost. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // This MUST be specified for queries and must NOT be specified for + // datapoints. + Op IndexDatapoint_NumericRestriction_Operator `protobuf:"varint,5,opt,name=op,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint_NumericRestriction_Operator" json:"op,omitempty"` +} + +func (x *IndexDatapoint_NumericRestriction) Reset() { + *x = IndexDatapoint_NumericRestriction{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexDatapoint_NumericRestriction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexDatapoint_NumericRestriction) ProtoMessage() {} + +func (x *IndexDatapoint_NumericRestriction) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[5] + 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 IndexDatapoint_NumericRestriction.ProtoReflect.Descriptor instead. +func (*IndexDatapoint_NumericRestriction) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 1} +} + +func (m *IndexDatapoint_NumericRestriction) GetValue() isIndexDatapoint_NumericRestriction_Value { + if m != nil { + return m.Value + } + return nil +} + +func (x *IndexDatapoint_NumericRestriction) GetValueInt() int64 { + if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueInt); ok { + return x.ValueInt + } + return 0 +} + +func (x *IndexDatapoint_NumericRestriction) GetValueFloat() float32 { + if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueFloat); ok { + return x.ValueFloat + } + return 0 +} + +func (x *IndexDatapoint_NumericRestriction) GetValueDouble() float64 { + if x, ok := x.GetValue().(*IndexDatapoint_NumericRestriction_ValueDouble); ok { + return x.ValueDouble + } + return 0 +} + +func (x *IndexDatapoint_NumericRestriction) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *IndexDatapoint_NumericRestriction) GetOp() IndexDatapoint_NumericRestriction_Operator { + if x != nil { + return x.Op + } + return IndexDatapoint_NumericRestriction_OPERATOR_UNSPECIFIED +} + +type isIndexDatapoint_NumericRestriction_Value interface { + isIndexDatapoint_NumericRestriction_Value() +} + +type IndexDatapoint_NumericRestriction_ValueInt struct { + // Represents 64 bit integer. + ValueInt int64 `protobuf:"varint,2,opt,name=value_int,json=valueInt,proto3,oneof"` +} + +type IndexDatapoint_NumericRestriction_ValueFloat struct { + // Represents 32 bit float. + ValueFloat float32 `protobuf:"fixed32,3,opt,name=value_float,json=valueFloat,proto3,oneof"` +} + +type IndexDatapoint_NumericRestriction_ValueDouble struct { + // Represents 64 bit float. + ValueDouble float64 `protobuf:"fixed64,4,opt,name=value_double,json=valueDouble,proto3,oneof"` +} + +func (*IndexDatapoint_NumericRestriction_ValueInt) isIndexDatapoint_NumericRestriction_Value() {} + +func (*IndexDatapoint_NumericRestriction_ValueFloat) isIndexDatapoint_NumericRestriction_Value() {} + +func (*IndexDatapoint_NumericRestriction_ValueDouble) isIndexDatapoint_NumericRestriction_Value() {} + +// Crowding tag is a constraint on a neighbor list produced by nearest +// neighbor search requiring that no more than some value k' of the k +// neighbors returned have the same value of crowding_attribute. +type IndexDatapoint_CrowdingTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The attribute value used for crowding. The maximum number of neighbors + // to return per crowding attribute value + // (per_crowding_attribute_num_neighbors) is configured per-query. This + // field is ignored if per_crowding_attribute_num_neighbors is larger than + // the total number of neighbors to return for a given query. + CrowdingAttribute string `protobuf:"bytes,1,opt,name=crowding_attribute,json=crowdingAttribute,proto3" json:"crowding_attribute,omitempty"` +} + +func (x *IndexDatapoint_CrowdingTag) Reset() { + *x = IndexDatapoint_CrowdingTag{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexDatapoint_CrowdingTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexDatapoint_CrowdingTag) ProtoMessage() {} + +func (x *IndexDatapoint_CrowdingTag) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_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 IndexDatapoint_CrowdingTag.ProtoReflect.Descriptor instead. +func (*IndexDatapoint_CrowdingTag) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *IndexDatapoint_CrowdingTag) GetCrowdingAttribute() string { + if x != nil { + return x.CrowdingAttribute + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_index_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x72, 0x65, + 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xb9, + 0x08, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, + 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x62, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x66, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x4b, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 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, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, + 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x6e, 0x0a, 0x13, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x5e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x11, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x52, 0x45, + 0x41, 0x4d, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x3a, 0x5d, 0xea, 0x41, 0x5a, + 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x7d, 0x22, 0xb7, 0x07, 0x0a, 0x0e, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x5f, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, + 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x73, 0x12, 0x75, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, + 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x0c, 0x63, 0x72, 0x6f, + 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x1a, + 0x67, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x65, 0x6e, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x65, 0x6e, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0xeb, 0x02, 0x0a, 0x12, 0x4e, 0x75, 0x6d, + 0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x02, + 0x6f, 0x70, 0x22, 0x69, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x53, 0x53, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, + 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x11, 0x0a, + 0x0d, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, + 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10, 0x05, 0x42, 0x07, 0x0a, + 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x3c, 0x0a, 0x0b, 0x43, 0x72, 0x6f, 0x77, 0x64, 0x69, + 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, + 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xe2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, + 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_index_proto_goTypes = []interface{}{ + (Index_IndexUpdateMethod)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Index.IndexUpdateMethod + (IndexDatapoint_NumericRestriction_Operator)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.Operator + (*Index)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Index + (*IndexDatapoint)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + (*IndexStats)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.IndexStats + nil, // 5: mockgcp.cloud.aiplatform.v1beta1.Index.LabelsEntry + (*IndexDatapoint_Restriction)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.Restriction + (*IndexDatapoint_NumericRestriction)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction + (*IndexDatapoint_CrowdingTag)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.CrowdingTag + (*_struct.Value)(nil), // 9: google.protobuf.Value + (*DeployedIndexRef)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.DeployedIndexRef + (*timestamp.Timestamp)(nil), // 11: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_index_proto_depIdxs = []int32{ + 9, // 0: mockgcp.cloud.aiplatform.v1beta1.Index.metadata:type_name -> google.protobuf.Value + 10, // 1: mockgcp.cloud.aiplatform.v1beta1.Index.deployed_indexes:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndexRef + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.Index.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Index.LabelsEntry + 11, // 3: mockgcp.cloud.aiplatform.v1beta1.Index.create_time:type_name -> google.protobuf.Timestamp + 11, // 4: mockgcp.cloud.aiplatform.v1beta1.Index.update_time:type_name -> google.protobuf.Timestamp + 4, // 5: mockgcp.cloud.aiplatform.v1beta1.Index.index_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexStats + 0, // 6: mockgcp.cloud.aiplatform.v1beta1.Index.index_update_method:type_name -> mockgcp.cloud.aiplatform.v1beta1.Index.IndexUpdateMethod + 12, // 7: mockgcp.cloud.aiplatform.v1beta1.Index.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 6, // 8: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.restricts:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.Restriction + 7, // 9: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.numeric_restricts:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction + 8, // 10: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.crowding_tag:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.CrowdingTag + 1, // 11: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.op:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint.NumericRestriction.Operator + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_index_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_index_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_index_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_deployed_index_ref_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Index); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexDatapoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexDatapoint_Restriction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexDatapoint_NumericRestriction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexDatapoint_CrowdingTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*IndexDatapoint_NumericRestriction_ValueInt)(nil), + (*IndexDatapoint_NumericRestriction_ValueFloat)(nil), + (*IndexDatapoint_NumericRestriction_ValueDouble)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDesc, + NumEnums: 2, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_index_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_index_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_index_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint.pb.go new file mode 100644 index 0000000000..ec51498121 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint.pb.go @@ -0,0 +1,996 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index_endpoint.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Indexes are deployed into it. An IndexEndpoint can have multiple +// DeployedIndexes. +type IndexEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the IndexEndpoint. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the IndexEndpoint. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the IndexEndpoint. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The indexes deployed in this endpoint. + DeployedIndexes []*DeployedIndex `protobuf:"bytes,4,rep,name=deployed_indexes,json=deployedIndexes,proto3" json:"deployed_indexes,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your IndexEndpoints. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this IndexEndpoint was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this IndexEndpoint was last updated. + // This timestamp is not updated when the endpoint's DeployedIndexes are + // updated, e.g. due to updates of the original Indexes they are the + // deployments of. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The full name of the Google Compute Engine + // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) + // to which the IndexEndpoint should be peered. + // + // Private services access must already be configured for the network. If left + // unspecified, the Endpoint is not peered with any network. + // + // [network][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.network] and + // [private_service_connect_config][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.private_service_connect_config] + // are mutually exclusive. + // + // [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): + // `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in '12345', and {network} is + // network name. + Network string `protobuf:"bytes,9,opt,name=network,proto3" json:"network,omitempty"` + // Optional. Deprecated: If true, expose the IndexEndpoint via private service + // connect. + // + // Only one of the fields, + // [network][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.network] or + // [enable_private_service_connect][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.enable_private_service_connect], + // can be set. + // + // Deprecated: Do not use. + EnablePrivateServiceConnect bool `protobuf:"varint,10,opt,name=enable_private_service_connect,json=enablePrivateServiceConnect,proto3" json:"enable_private_service_connect,omitempty"` + // Optional. Configuration for private service connect. + // + // [network][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.network] and + // [private_service_connect_config][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.private_service_connect_config] + // are mutually exclusive. + PrivateServiceConnectConfig *PrivateServiceConnectConfig `protobuf:"bytes,12,opt,name=private_service_connect_config,json=privateServiceConnectConfig,proto3" json:"private_service_connect_config,omitempty"` + // Optional. If true, the deployed index will be accessible through public + // endpoint. + PublicEndpointEnabled bool `protobuf:"varint,13,opt,name=public_endpoint_enabled,json=publicEndpointEnabled,proto3" json:"public_endpoint_enabled,omitempty"` + // Output only. If + // [public_endpoint_enabled][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.public_endpoint_enabled] + // is true, this field will be populated with the domain name to use for this + // index endpoint. + PublicEndpointDomainName string `protobuf:"bytes,14,opt,name=public_endpoint_domain_name,json=publicEndpointDomainName,proto3" json:"public_endpoint_domain_name,omitempty"` + // Immutable. Customer-managed encryption key spec for an IndexEndpoint. If + // set, this IndexEndpoint and all sub-resources of this IndexEndpoint will be + // secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,15,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *IndexEndpoint) Reset() { + *x = IndexEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexEndpoint) ProtoMessage() {} + +func (x *IndexEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[0] + 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 IndexEndpoint.ProtoReflect.Descriptor instead. +func (*IndexEndpoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP(), []int{0} +} + +func (x *IndexEndpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IndexEndpoint) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *IndexEndpoint) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *IndexEndpoint) GetDeployedIndexes() []*DeployedIndex { + if x != nil { + return x.DeployedIndexes + } + return nil +} + +func (x *IndexEndpoint) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *IndexEndpoint) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *IndexEndpoint) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *IndexEndpoint) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *IndexEndpoint) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +// Deprecated: Do not use. +func (x *IndexEndpoint) GetEnablePrivateServiceConnect() bool { + if x != nil { + return x.EnablePrivateServiceConnect + } + return false +} + +func (x *IndexEndpoint) GetPrivateServiceConnectConfig() *PrivateServiceConnectConfig { + if x != nil { + return x.PrivateServiceConnectConfig + } + return nil +} + +func (x *IndexEndpoint) GetPublicEndpointEnabled() bool { + if x != nil { + return x.PublicEndpointEnabled + } + return false +} + +func (x *IndexEndpoint) GetPublicEndpointDomainName() string { + if x != nil { + return x.PublicEndpointDomainName + } + return "" +} + +func (x *IndexEndpoint) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. +type DeployedIndex struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The user specified ID of the DeployedIndex. + // The ID can be up to 128 characters long and must start with a letter and + // only contain letters, numbers, and underscores. + // The ID must be unique within the project it is created in. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. The name of the Index this is the deployment of. + // We may refer to this Index as the DeployedIndex's "original" Index. + Index string `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` + // The display name of the DeployedIndex. If not provided upon creation, + // the Index's display_name is used. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Timestamp when the DeployedIndex was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Provides paths for users to send requests directly to the + // deployed index services running on Cloud via private services access. This + // field is populated if + // [network][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.network] is + // configured. + PrivateEndpoints *IndexPrivateEndpoints `protobuf:"bytes,5,opt,name=private_endpoints,json=privateEndpoints,proto3" json:"private_endpoints,omitempty"` + // Output only. The DeployedIndex may depend on various data on its original + // Index. Additionally when certain changes to the original Index are being + // done (e.g. when what the Index contains is being changed) the DeployedIndex + // may be asynchronously updated in the background to reflect these changes. + // If this timestamp's value is at least the + // [Index.update_time][mockgcp.cloud.aiplatform.v1beta1.Index.update_time] of + // the original Index, it means that this DeployedIndex and the original Index + // are in sync. If this timestamp is older, then to see which updates this + // DeployedIndex already contains (and which it does not), one must + // [list][google.longrunning.Operations.ListOperations] the operations that + // are running on the original Index. Only the successfully completed + // Operations with + // [update_time][mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time] + // equal or before this sync time are contained in this DeployedIndex. + IndexSyncTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=index_sync_time,json=indexSyncTime,proto3" json:"index_sync_time,omitempty"` + // Optional. A description of resources that the DeployedIndex uses, which to + // large degree are decided by Vertex AI, and optionally allows only a modest + // additional configuration. + // If min_replica_count is not set, the default value is 2 (we don't provide + // SLA when min_replica_count=1). If max_replica_count is not set, the + // default value is min_replica_count. The max allowed replica count is + // 1000. + AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"` + // Optional. A description of resources that are dedicated to the + // DeployedIndex, and that need a higher degree of manual configuration. The + // field min_replica_count must be set to a value strictly greater than 0, or + // else validation will fail. We don't provide SLA when min_replica_count=1. + // If max_replica_count is not set, the default value is min_replica_count. + // The max allowed replica count is 1000. + // + // Available machine types for SMALL shard: + // e2-standard-2 and all machine types available for MEDIUM and LARGE shard. + // + // Available machine types for MEDIUM shard: + // e2-standard-16 and all machine types available for LARGE shard. + // + // Available machine types for LARGE shard: + // e2-highmem-16, n2d-standard-32. + // + // n1-standard-16 and n1-standard-32 are still available, but we recommend + // e2-standard-16 and e2-highmem-16 for cost efficiency. + DedicatedResources *DedicatedResources `protobuf:"bytes,16,opt,name=dedicated_resources,json=dedicatedResources,proto3" json:"dedicated_resources,omitempty"` + // Optional. If true, private endpoint's access logs are sent to Cloud + // Logging. + // + // These logs are like standard server access logs, containing + // information like timestamp and latency for each MatchRequest. + // + // Note that logs may incur a cost, especially if the deployed + // index receives a high queries per second rate (QPS). + // Estimate your costs before enabling this option. + EnableAccessLogging bool `protobuf:"varint,8,opt,name=enable_access_logging,json=enableAccessLogging,proto3" json:"enable_access_logging,omitempty"` + // Optional. If set, the authentication is enabled for the private endpoint. + DeployedIndexAuthConfig *DeployedIndexAuthConfig `protobuf:"bytes,9,opt,name=deployed_index_auth_config,json=deployedIndexAuthConfig,proto3" json:"deployed_index_auth_config,omitempty"` + // Optional. A list of reserved ip ranges under the VPC network that can be + // used for this DeployedIndex. + // + // If set, we will deploy the index within the provided ip ranges. Otherwise, + // the index might be deployed to any ip ranges under the provided VPC + // network. + // + // The value should be the name of the address + // (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) + // Example: ['vertex-ai-ip-range']. + // + // For more information about subnets and network IP ranges, please see + // https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges. + ReservedIpRanges []string `protobuf:"bytes,10,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` + // Optional. The deployment group can be no longer than 64 characters (eg: + // 'test', 'prod'). If not set, we will use the 'default' deployment group. + // + // Creating `deployment_groups` with `reserved_ip_ranges` is a recommended + // practice when the peered network has multiple peering ranges. This creates + // your deployments from predictable IP spaces for easier traffic + // administration. Also, one deployment_group (except 'default') can only be + // used with the same reserved_ip_ranges which means if the deployment_group + // has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or + // [d, e] is disallowed. + // + // Note: we only support up to 5 deployment groups(not including 'default'). + DeploymentGroup string `protobuf:"bytes,11,opt,name=deployment_group,json=deploymentGroup,proto3" json:"deployment_group,omitempty"` +} + +func (x *DeployedIndex) Reset() { + *x = DeployedIndex{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedIndex) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedIndex) ProtoMessage() {} + +func (x *DeployedIndex) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[1] + 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 DeployedIndex.ProtoReflect.Descriptor instead. +func (*DeployedIndex) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP(), []int{1} +} + +func (x *DeployedIndex) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeployedIndex) GetIndex() string { + if x != nil { + return x.Index + } + return "" +} + +func (x *DeployedIndex) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DeployedIndex) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DeployedIndex) GetPrivateEndpoints() *IndexPrivateEndpoints { + if x != nil { + return x.PrivateEndpoints + } + return nil +} + +func (x *DeployedIndex) GetIndexSyncTime() *timestamp.Timestamp { + if x != nil { + return x.IndexSyncTime + } + return nil +} + +func (x *DeployedIndex) GetAutomaticResources() *AutomaticResources { + if x != nil { + return x.AutomaticResources + } + return nil +} + +func (x *DeployedIndex) GetDedicatedResources() *DedicatedResources { + if x != nil { + return x.DedicatedResources + } + return nil +} + +func (x *DeployedIndex) GetEnableAccessLogging() bool { + if x != nil { + return x.EnableAccessLogging + } + return false +} + +func (x *DeployedIndex) GetDeployedIndexAuthConfig() *DeployedIndexAuthConfig { + if x != nil { + return x.DeployedIndexAuthConfig + } + return nil +} + +func (x *DeployedIndex) GetReservedIpRanges() []string { + if x != nil { + return x.ReservedIpRanges + } + return nil +} + +func (x *DeployedIndex) GetDeploymentGroup() string { + if x != nil { + return x.DeploymentGroup + } + return "" +} + +// Used to set up the auth on the DeployedIndex's private endpoint. +type DeployedIndexAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines the authentication provider that the DeployedIndex uses. + AuthProvider *DeployedIndexAuthConfig_AuthProvider `protobuf:"bytes,1,opt,name=auth_provider,json=authProvider,proto3" json:"auth_provider,omitempty"` +} + +func (x *DeployedIndexAuthConfig) Reset() { + *x = DeployedIndexAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedIndexAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedIndexAuthConfig) ProtoMessage() {} + +func (x *DeployedIndexAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_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 DeployedIndexAuthConfig.ProtoReflect.Descriptor instead. +func (*DeployedIndexAuthConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP(), []int{2} +} + +func (x *DeployedIndexAuthConfig) GetAuthProvider() *DeployedIndexAuthConfig_AuthProvider { + if x != nil { + return x.AuthProvider + } + return nil +} + +// IndexPrivateEndpoints proto is used to provide paths for users to send +// requests via private endpoints (e.g. private service access, private service +// connect). +// To send request via private service access, use match_grpc_address. +// To send request via private service connect, use service_attachment. +type IndexPrivateEndpoints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The ip address used to send match gRPC requests. + MatchGrpcAddress string `protobuf:"bytes,1,opt,name=match_grpc_address,json=matchGrpcAddress,proto3" json:"match_grpc_address,omitempty"` + // Output only. The name of the service attachment resource. Populated if + // private service connect is enabled. + ServiceAttachment string `protobuf:"bytes,2,opt,name=service_attachment,json=serviceAttachment,proto3" json:"service_attachment,omitempty"` + // Output only. PscAutomatedEndpoints is populated if private service connect + // is enabled if PscAutomatedConfig is set. + PscAutomatedEndpoints []*PscAutomatedEndpoints `protobuf:"bytes,3,rep,name=psc_automated_endpoints,json=pscAutomatedEndpoints,proto3" json:"psc_automated_endpoints,omitempty"` +} + +func (x *IndexPrivateEndpoints) Reset() { + *x = IndexPrivateEndpoints{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexPrivateEndpoints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexPrivateEndpoints) ProtoMessage() {} + +func (x *IndexPrivateEndpoints) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[3] + 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 IndexPrivateEndpoints.ProtoReflect.Descriptor instead. +func (*IndexPrivateEndpoints) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP(), []int{3} +} + +func (x *IndexPrivateEndpoints) GetMatchGrpcAddress() string { + if x != nil { + return x.MatchGrpcAddress + } + return "" +} + +func (x *IndexPrivateEndpoints) GetServiceAttachment() string { + if x != nil { + return x.ServiceAttachment + } + return "" +} + +func (x *IndexPrivateEndpoints) GetPscAutomatedEndpoints() []*PscAutomatedEndpoints { + if x != nil { + return x.PscAutomatedEndpoints + } + return nil +} + +// Configuration for an authentication provider, including support for +// [JSON Web Token +// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). +type DeployedIndexAuthConfig_AuthProvider struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of JWT + // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3). + // that are allowed to access. A JWT containing any of these audiences will + // be accepted. + Audiences []string `protobuf:"bytes,1,rep,name=audiences,proto3" json:"audiences,omitempty"` + // A list of allowed JWT issuers. Each entry must be a valid Google + // service account, in the following format: + // + // `service-account-name@project-id.iam.gserviceaccount.com` + AllowedIssuers []string `protobuf:"bytes,2,rep,name=allowed_issuers,json=allowedIssuers,proto3" json:"allowed_issuers,omitempty"` +} + +func (x *DeployedIndexAuthConfig_AuthProvider) Reset() { + *x = DeployedIndexAuthConfig_AuthProvider{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployedIndexAuthConfig_AuthProvider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployedIndexAuthConfig_AuthProvider) ProtoMessage() {} + +func (x *DeployedIndexAuthConfig_AuthProvider) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[5] + 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 DeployedIndexAuthConfig_AuthProvider.ProtoReflect.Descriptor instead. +func (*DeployedIndexAuthConfig_AuthProvider) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *DeployedIndexAuthConfig_AuthProvider) GetAudiences() []string { + if x != nil { + return x.Audiences + } + return nil +} + +func (x *DeployedIndexAuthConfig_AuthProvider) GetAllowedIssuers() []string { + if x != nil { + return x.AllowedIssuers + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDesc = []byte{ + 0x0a, 0x35, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 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, 0x22, 0xc8, 0x08, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x53, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x4a, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0x18, + 0x01, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x17, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x0f, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0e, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x75, 0xea, 0x41, 0x72, 0x0a, 0x27, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x22, 0xed, + 0x06, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x69, 0x0a, 0x11, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x6a, 0x0a, + 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x6a, 0x0a, 0x13, 0x64, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x7b, + 0x0a, 0x1a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x17, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x12, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2e, + 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xdd, + 0x01, 0x0a, 0x17, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x0d, 0x61, 0x75, + 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x55, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x22, 0xf4, + 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x47, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x12, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x74, 0x0a, 0x17, 0x70, 0x73, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x73, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, + 0x70, 0x73, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0xea, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x12, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_goTypes = []interface{}{ + (*IndexEndpoint)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + (*DeployedIndex)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + (*DeployedIndexAuthConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.DeployedIndexAuthConfig + (*IndexPrivateEndpoints)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.IndexPrivateEndpoints + nil, // 4: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.LabelsEntry + (*DeployedIndexAuthConfig_AuthProvider)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeployedIndexAuthConfig.AuthProvider + (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*PrivateServiceConnectConfig)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig + (*EncryptionSpec)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*AutomaticResources)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + (*DedicatedResources)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + (*PscAutomatedEndpoints)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.PscAutomatedEndpoints +} +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.deployed_indexes:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.LabelsEntry + 6, // 2: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.create_time:type_name -> google.protobuf.Timestamp + 6, // 3: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.update_time:type_name -> google.protobuf.Timestamp + 7, // 4: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.private_service_connect_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig + 8, // 5: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 6, // 6: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.create_time:type_name -> google.protobuf.Timestamp + 3, // 7: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.private_endpoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexPrivateEndpoints + 6, // 8: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.index_sync_time:type_name -> google.protobuf.Timestamp + 9, // 9: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.automatic_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + 10, // 10: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.dedicated_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + 2, // 11: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex.deployed_index_auth_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndexAuthConfig + 5, // 12: mockgcp.cloud.aiplatform.v1beta1.DeployedIndexAuthConfig.auth_provider:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndexAuthConfig.AuthProvider + 11, // 13: mockgcp.cloud.aiplatform.v1beta1.IndexPrivateEndpoints.psc_automated_endpoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.PscAutomatedEndpoints + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedIndex); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedIndexAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexPrivateEndpoints); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployedIndexAuthConfig_AuthProvider); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.go new file mode 100644 index 0000000000..1ada776a38 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.go @@ -0,0 +1,1612 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [IndexEndpointService.CreateIndexEndpoint][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint]. +type CreateIndexEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the IndexEndpoint in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The IndexEndpoint to create. + IndexEndpoint *IndexEndpoint `protobuf:"bytes,2,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` +} + +func (x *CreateIndexEndpointRequest) Reset() { + *x = CreateIndexEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateIndexEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateIndexEndpointRequest) ProtoMessage() {} + +func (x *CreateIndexEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[0] + 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 CreateIndexEndpointRequest.ProtoReflect.Descriptor instead. +func (*CreateIndexEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateIndexEndpointRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateIndexEndpointRequest) GetIndexEndpoint() *IndexEndpoint { + if x != nil { + return x.IndexEndpoint + } + return nil +} + +// Runtime operation information for +// [IndexEndpointService.CreateIndexEndpoint][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint]. +type CreateIndexEndpointOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateIndexEndpointOperationMetadata) Reset() { + *x = CreateIndexEndpointOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateIndexEndpointOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateIndexEndpointOperationMetadata) ProtoMessage() {} + +func (x *CreateIndexEndpointOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[1] + 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 CreateIndexEndpointOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateIndexEndpointOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateIndexEndpointOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [IndexEndpointService.GetIndexEndpoint][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.GetIndexEndpoint] +type GetIndexEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the IndexEndpoint resource. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetIndexEndpointRequest) Reset() { + *x = GetIndexEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIndexEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIndexEndpointRequest) ProtoMessage() {} + +func (x *GetIndexEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_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 GetIndexEndpointRequest.ProtoReflect.Descriptor instead. +func (*GetIndexEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetIndexEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [IndexEndpointService.ListIndexEndpoints][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints]. +type ListIndexEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // IndexEndpoints. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `index_endpoint` supports = and !=. `index_endpoint` represents the + // IndexEndpoint ID, ie. the last segment of the IndexEndpoint's + // [resourcename][mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint.name]. + // - `display_name` supports =, != and regex() + // (uses [re2](https://github.com/google/re2/wiki/Syntax) syntax) + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* or labels:key - key existence + // A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // - `index_endpoint="1"` + // - `display_name="myDisplayName"` + // - `regex(display_name, "^A") -> The display name starts with an A. + // - `labels.myKey="myValue"` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListIndexEndpointsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsResponse.next_page_token] + // of the previous + // [IndexEndpointService.ListIndexEndpoints][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListIndexEndpointsRequest) Reset() { + *x = ListIndexEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListIndexEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIndexEndpointsRequest) ProtoMessage() {} + +func (x *ListIndexEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[3] + 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 ListIndexEndpointsRequest.ProtoReflect.Descriptor instead. +func (*ListIndexEndpointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListIndexEndpointsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListIndexEndpointsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListIndexEndpointsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListIndexEndpointsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListIndexEndpointsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [IndexEndpointService.ListIndexEndpoints][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints]. +type ListIndexEndpointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of IndexEndpoints in the requested page. + IndexEndpoints []*IndexEndpoint `protobuf:"bytes,1,rep,name=index_endpoints,json=indexEndpoints,proto3" json:"index_endpoints,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListIndexEndpointsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListIndexEndpointsResponse) Reset() { + *x = ListIndexEndpointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListIndexEndpointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIndexEndpointsResponse) ProtoMessage() {} + +func (x *ListIndexEndpointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[4] + 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 ListIndexEndpointsResponse.ProtoReflect.Descriptor instead. +func (*ListIndexEndpointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListIndexEndpointsResponse) GetIndexEndpoints() []*IndexEndpoint { + if x != nil { + return x.IndexEndpoints + } + return nil +} + +func (x *ListIndexEndpointsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [IndexEndpointService.UpdateIndexEndpoint][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UpdateIndexEndpoint]. +type UpdateIndexEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The IndexEndpoint which replaces the resource on the server. + IndexEndpoint *IndexEndpoint `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateIndexEndpointRequest) Reset() { + *x = UpdateIndexEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateIndexEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateIndexEndpointRequest) ProtoMessage() {} + +func (x *UpdateIndexEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[5] + 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 UpdateIndexEndpointRequest.ProtoReflect.Descriptor instead. +func (*UpdateIndexEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateIndexEndpointRequest) GetIndexEndpoint() *IndexEndpoint { + if x != nil { + return x.IndexEndpoint + } + return nil +} + +func (x *UpdateIndexEndpointRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [IndexEndpointService.DeleteIndexEndpoint][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeleteIndexEndpoint]. +type DeleteIndexEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the IndexEndpoint resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteIndexEndpointRequest) Reset() { + *x = DeleteIndexEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteIndexEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteIndexEndpointRequest) ProtoMessage() {} + +func (x *DeleteIndexEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_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 DeleteIndexEndpointRequest.ProtoReflect.Descriptor instead. +func (*DeleteIndexEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteIndexEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [IndexEndpointService.DeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. +type DeployIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the IndexEndpoint resource into which to deploy an + // Index. Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // Required. The DeployedIndex to be created within the IndexEndpoint. + DeployedIndex *DeployedIndex `protobuf:"bytes,2,opt,name=deployed_index,json=deployedIndex,proto3" json:"deployed_index,omitempty"` +} + +func (x *DeployIndexRequest) Reset() { + *x = DeployIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployIndexRequest) ProtoMessage() {} + +func (x *DeployIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[7] + 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 DeployIndexRequest.ProtoReflect.Descriptor instead. +func (*DeployIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{7} +} + +func (x *DeployIndexRequest) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *DeployIndexRequest) GetDeployedIndex() *DeployedIndex { + if x != nil { + return x.DeployedIndex + } + return nil +} + +// Response message for +// [IndexEndpointService.DeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. +type DeployIndexResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeployedIndex that had been deployed in the IndexEndpoint. + DeployedIndex *DeployedIndex `protobuf:"bytes,1,opt,name=deployed_index,json=deployedIndex,proto3" json:"deployed_index,omitempty"` +} + +func (x *DeployIndexResponse) Reset() { + *x = DeployIndexResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployIndexResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployIndexResponse) ProtoMessage() {} + +func (x *DeployIndexResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_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 DeployIndexResponse.ProtoReflect.Descriptor instead. +func (*DeployIndexResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{8} +} + +func (x *DeployIndexResponse) GetDeployedIndex() *DeployedIndex { + if x != nil { + return x.DeployedIndex + } + return nil +} + +// Runtime operation information for +// [IndexEndpointService.DeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex]. +type DeployIndexOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // The unique index id specified by user + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` +} + +func (x *DeployIndexOperationMetadata) Reset() { + *x = DeployIndexOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeployIndexOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployIndexOperationMetadata) ProtoMessage() {} + +func (x *DeployIndexOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[9] + 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 DeployIndexOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeployIndexOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{9} +} + +func (x *DeployIndexOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *DeployIndexOperationMetadata) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +// Request message for +// [IndexEndpointService.UndeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. +type UndeployIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the IndexEndpoint resource from which to undeploy an + // Index. Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // Required. The ID of the DeployedIndex to be undeployed from the + // IndexEndpoint. + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` +} + +func (x *UndeployIndexRequest) Reset() { + *x = UndeployIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployIndexRequest) ProtoMessage() {} + +func (x *UndeployIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[10] + 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 UndeployIndexRequest.ProtoReflect.Descriptor instead. +func (*UndeployIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UndeployIndexRequest) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *UndeployIndexRequest) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +// Response message for +// [IndexEndpointService.UndeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. +type UndeployIndexResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UndeployIndexResponse) Reset() { + *x = UndeployIndexResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployIndexResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployIndexResponse) ProtoMessage() {} + +func (x *UndeployIndexResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[11] + 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 UndeployIndexResponse.ProtoReflect.Descriptor instead. +func (*UndeployIndexResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{11} +} + +// Runtime operation information for +// [IndexEndpointService.UndeployIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex]. +type UndeployIndexOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UndeployIndexOperationMetadata) Reset() { + *x = UndeployIndexOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UndeployIndexOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndeployIndexOperationMetadata) ProtoMessage() {} + +func (x *UndeployIndexOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[12] + 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 UndeployIndexOperationMetadata.ProtoReflect.Descriptor instead. +func (*UndeployIndexOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UndeployIndexOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [IndexEndpointService.MutateDeployedIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.MutateDeployedIndex]. +type MutateDeployedIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the IndexEndpoint resource into which to deploy an + // Index. Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // Required. The DeployedIndex to be updated within the IndexEndpoint. + // Currently, the updatable fields are [DeployedIndex][automatic_resources] + // and [DeployedIndex][dedicated_resources] + DeployedIndex *DeployedIndex `protobuf:"bytes,2,opt,name=deployed_index,json=deployedIndex,proto3" json:"deployed_index,omitempty"` +} + +func (x *MutateDeployedIndexRequest) Reset() { + *x = MutateDeployedIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedIndexRequest) ProtoMessage() {} + +func (x *MutateDeployedIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[13] + 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 MutateDeployedIndexRequest.ProtoReflect.Descriptor instead. +func (*MutateDeployedIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{13} +} + +func (x *MutateDeployedIndexRequest) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *MutateDeployedIndexRequest) GetDeployedIndex() *DeployedIndex { + if x != nil { + return x.DeployedIndex + } + return nil +} + +// Response message for +// [IndexEndpointService.MutateDeployedIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.MutateDeployedIndex]. +type MutateDeployedIndexResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeployedIndex that had been updated in the IndexEndpoint. + DeployedIndex *DeployedIndex `protobuf:"bytes,1,opt,name=deployed_index,json=deployedIndex,proto3" json:"deployed_index,omitempty"` +} + +func (x *MutateDeployedIndexResponse) Reset() { + *x = MutateDeployedIndexResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedIndexResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedIndexResponse) ProtoMessage() {} + +func (x *MutateDeployedIndexResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[14] + 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 MutateDeployedIndexResponse.ProtoReflect.Descriptor instead. +func (*MutateDeployedIndexResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{14} +} + +func (x *MutateDeployedIndexResponse) GetDeployedIndex() *DeployedIndex { + if x != nil { + return x.DeployedIndex + } + return nil +} + +// Runtime operation information for +// [IndexEndpointService.MutateDeployedIndex][mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.MutateDeployedIndex]. +type MutateDeployedIndexOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // The unique index id specified by user + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` +} + +func (x *MutateDeployedIndexOperationMetadata) Reset() { + *x = MutateDeployedIndexOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MutateDeployedIndexOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutateDeployedIndexOperationMetadata) ProtoMessage() {} + +func (x *MutateDeployedIndexOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_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 MutateDeployedIndexOperationMetadata.ProtoReflect.Descriptor instead. +func (*MutateDeployedIndexOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP(), []int{15} +} + +func (x *MutateDeployedIndexOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *MutateDeployedIndexOperationMetadata) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDesc = []byte{ + 0x0a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, + 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xff, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0xbb, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, + 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, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x61, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0x6d, 0x0a, 0x13, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, + 0xb1, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x49, 0x64, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, + 0x01, 0x0a, 0x1e, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x01, 0x0a, 0x1a, 0x4d, 0x75, 0x74, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x5b, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x75, 0x0a, 0x1b, + 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x22, 0xb9, 0x01, 0x0a, 0x24, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x32, + 0x99, 0x11, 0x0a, 0x14, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x9f, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, + 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xda, + 0x41, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xca, 0x41, 0x35, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0xc6, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x81, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x7b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x58, 0x32, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0e, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x1a, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xed, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x79, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x93, 0x02, 0x0a, 0x0b, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0xae, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1d, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xca, 0x41, 0x33, 0x0a, 0x13, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa0, + 0x02, 0x0a, 0x0d, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, + 0x78, 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, 0xb7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, + 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x37, 0x0a, 0x15, 0x55, 0x6e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1e, 0x55, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xc8, 0x02, 0x0a, 0x13, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x75, 0x74, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 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, 0xd3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x22, + 0x55, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xda, 0x41, 0x1d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xca, 0x41, 0x43, 0x0a, 0x1b, 0x4d, 0x75, 0x74, 0x61, 0x74, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, + 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xf1, 0x01, 0x0a, 0x24, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x19, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_goTypes = []interface{}{ + (*CreateIndexEndpointRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateIndexEndpointRequest + (*CreateIndexEndpointOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateIndexEndpointOperationMetadata + (*GetIndexEndpointRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetIndexEndpointRequest + (*ListIndexEndpointsRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsRequest + (*ListIndexEndpointsResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsResponse + (*UpdateIndexEndpointRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexEndpointRequest + (*DeleteIndexEndpointRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeleteIndexEndpointRequest + (*DeployIndexRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.DeployIndexRequest + (*DeployIndexResponse)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.DeployIndexResponse + (*DeployIndexOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.DeployIndexOperationMetadata + (*UndeployIndexRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.UndeployIndexRequest + (*UndeployIndexResponse)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.UndeployIndexResponse + (*UndeployIndexOperationMetadata)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.UndeployIndexOperationMetadata + (*MutateDeployedIndexRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexRequest + (*MutateDeployedIndexResponse)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexResponse + (*MutateDeployedIndexOperationMetadata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexOperationMetadata + (*IndexEndpoint)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + (*GenericOperationMetadata)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 18: google.protobuf.FieldMask + (*DeployedIndex)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + (*longrunningpb.Operation)(nil), // 20: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_depIdxs = []int32{ + 16, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateIndexEndpointRequest.index_endpoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + 17, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateIndexEndpointOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 18, // 2: mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsRequest.read_mask:type_name -> google.protobuf.FieldMask + 16, // 3: mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsResponse.index_endpoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + 16, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexEndpointRequest.index_endpoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + 18, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexEndpointRequest.update_mask:type_name -> google.protobuf.FieldMask + 19, // 6: mockgcp.cloud.aiplatform.v1beta1.DeployIndexRequest.deployed_index:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + 19, // 7: mockgcp.cloud.aiplatform.v1beta1.DeployIndexResponse.deployed_index:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + 17, // 8: mockgcp.cloud.aiplatform.v1beta1.DeployIndexOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 17, // 9: mockgcp.cloud.aiplatform.v1beta1.UndeployIndexOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 19, // 10: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexRequest.deployed_index:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + 19, // 11: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexResponse.deployed_index:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedIndex + 17, // 12: mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 13: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateIndexEndpointRequest + 2, // 14: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.GetIndexEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetIndexEndpointRequest + 3, // 15: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsRequest + 5, // 16: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UpdateIndexEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateIndexEndpointRequest + 6, // 17: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeleteIndexEndpoint:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteIndexEndpointRequest + 7, // 18: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeployIndexRequest + 10, // 19: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.UndeployIndexRequest + 13, // 20: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.MutateDeployedIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.MutateDeployedIndexRequest + 20, // 21: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.CreateIndexEndpoint:output_type -> google.longrunning.Operation + 16, // 22: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.GetIndexEndpoint:output_type -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + 4, // 23: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.ListIndexEndpoints:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListIndexEndpointsResponse + 16, // 24: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UpdateIndexEndpoint:output_type -> mockgcp.cloud.aiplatform.v1beta1.IndexEndpoint + 20, // 25: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeleteIndexEndpoint:output_type -> google.longrunning.Operation + 20, // 26: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.DeployIndex:output_type -> google.longrunning.Operation + 20, // 27: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.UndeployIndex:output_type -> google.longrunning.Operation + 20, // 28: mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService.MutateDeployedIndex:output_type -> google.longrunning.Operation + 21, // [21:29] is the sub-list for method output_type + 13, // [13:21] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateIndexEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateIndexEndpointOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetIndexEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListIndexEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListIndexEndpointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteIndexEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployIndexResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeployIndexOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployIndexResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeployIndexOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedIndexResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MutateDeployedIndexOperationMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_endpoint_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.gw.go new file mode 100644 index 0000000000..c15e705a09 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.pb.gw.go @@ -0,0 +1,1040 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_IndexEndpointService_CreateIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateIndexEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IndexEndpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateIndexEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_CreateIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateIndexEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IndexEndpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateIndexEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexEndpointService_GetIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetIndexEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetIndexEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_GetIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetIndexEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetIndexEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IndexEndpointService_ListIndexEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_IndexEndpointService_ListIndexEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListIndexEndpointsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexEndpointService_ListIndexEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListIndexEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_ListIndexEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListIndexEndpointsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexEndpointService_ListIndexEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListIndexEndpoints(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IndexEndpointService_UpdateIndexEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"index_endpoint": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_IndexEndpointService_UpdateIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateIndexEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IndexEndpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.IndexEndpoint); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "index_endpoint.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexEndpointService_UpdateIndexEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateIndexEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_UpdateIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateIndexEndpointRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IndexEndpoint); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.IndexEndpoint); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "index_endpoint.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexEndpointService_UpdateIndexEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateIndexEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexEndpointService_DeleteIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteIndexEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteIndexEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_DeleteIndexEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteIndexEndpointRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteIndexEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexEndpointService_DeployIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeployIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := client.DeployIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_DeployIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeployIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := server.DeployIndex(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexEndpointService_UndeployIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UndeployIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := client.UndeployIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_UndeployIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UndeployIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := server.UndeployIndex(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexEndpointService_MutateDeployedIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexEndpointServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MutateDeployedIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DeployedIndex); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := client.MutateDeployedIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexEndpointService_MutateDeployedIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexEndpointServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MutateDeployedIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DeployedIndex); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := server.MutateDeployedIndex(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterIndexEndpointServiceHandlerServer registers the http handlers for service IndexEndpointService to "mux". +// UnaryRPC :call IndexEndpointServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterIndexEndpointServiceHandlerFromEndpoint instead. +func RegisterIndexEndpointServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IndexEndpointServiceServer) error { + + mux.Handle("POST", pattern_IndexEndpointService_CreateIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/CreateIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexEndpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_CreateIndexEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_CreateIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexEndpointService_GetIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/GetIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_GetIndexEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_GetIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexEndpointService_ListIndexEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/ListIndexEndpoints", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexEndpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_ListIndexEndpoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_ListIndexEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_IndexEndpointService_UpdateIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UpdateIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint.name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_UpdateIndexEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_UpdateIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IndexEndpointService_DeleteIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeleteIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_DeleteIndexEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_DeleteIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_DeployIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeployIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:deployIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_DeployIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_DeployIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_UndeployIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UndeployIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:undeployIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_UndeployIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_UndeployIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_MutateDeployedIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/MutateDeployedIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:mutateDeployedIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexEndpointService_MutateDeployedIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_MutateDeployedIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterIndexEndpointServiceHandlerFromEndpoint is same as RegisterIndexEndpointServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterIndexEndpointServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterIndexEndpointServiceHandler(ctx, mux, conn) +} + +// RegisterIndexEndpointServiceHandler registers the http handlers for service IndexEndpointService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterIndexEndpointServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterIndexEndpointServiceHandlerClient(ctx, mux, NewIndexEndpointServiceClient(conn)) +} + +// RegisterIndexEndpointServiceHandlerClient registers the http handlers for service IndexEndpointService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IndexEndpointServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IndexEndpointServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "IndexEndpointServiceClient" to call the correct interceptors. +func RegisterIndexEndpointServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IndexEndpointServiceClient) error { + + mux.Handle("POST", pattern_IndexEndpointService_CreateIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/CreateIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexEndpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_CreateIndexEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_CreateIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexEndpointService_GetIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/GetIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_GetIndexEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_GetIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexEndpointService_ListIndexEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/ListIndexEndpoints", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexEndpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_ListIndexEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_ListIndexEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_IndexEndpointService_UpdateIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UpdateIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint.name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_UpdateIndexEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_UpdateIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IndexEndpointService_DeleteIndexEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeleteIndexEndpoint", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_DeleteIndexEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_DeleteIndexEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_DeployIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeployIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:deployIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_DeployIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_DeployIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_UndeployIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UndeployIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:undeployIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_UndeployIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_UndeployIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexEndpointService_MutateDeployedIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/MutateDeployedIndex", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:mutateDeployedIndex")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexEndpointService_MutateDeployedIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexEndpointService_MutateDeployedIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_IndexEndpointService_CreateIndexEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "indexEndpoints"}, "")) + + pattern_IndexEndpointService_GetIndexEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "name"}, "")) + + pattern_IndexEndpointService_ListIndexEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "indexEndpoints"}, "")) + + pattern_IndexEndpointService_UpdateIndexEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint.name"}, "")) + + pattern_IndexEndpointService_DeleteIndexEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "name"}, "")) + + pattern_IndexEndpointService_DeployIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint"}, "deployIndex")) + + pattern_IndexEndpointService_UndeployIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint"}, "undeployIndex")) + + pattern_IndexEndpointService_MutateDeployedIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint"}, "mutateDeployedIndex")) +) + +var ( + forward_IndexEndpointService_CreateIndexEndpoint_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_GetIndexEndpoint_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_ListIndexEndpoints_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_UpdateIndexEndpoint_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_DeleteIndexEndpoint_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_DeployIndex_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_UndeployIndex_0 = runtime.ForwardResponseMessage + + forward_IndexEndpointService_MutateDeployedIndex_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service_grpc.pb.go new file mode 100644 index 0000000000..3970ae13b9 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service_grpc.pb.go @@ -0,0 +1,380 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// IndexEndpointServiceClient is the client API for IndexEndpointService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IndexEndpointServiceClient interface { + // Creates an IndexEndpoint. + CreateIndexEndpoint(ctx context.Context, in *CreateIndexEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets an IndexEndpoint. + GetIndexEndpoint(ctx context.Context, in *GetIndexEndpointRequest, opts ...grpc.CallOption) (*IndexEndpoint, error) + // Lists IndexEndpoints in a Location. + ListIndexEndpoints(ctx context.Context, in *ListIndexEndpointsRequest, opts ...grpc.CallOption) (*ListIndexEndpointsResponse, error) + // Updates an IndexEndpoint. + UpdateIndexEndpoint(ctx context.Context, in *UpdateIndexEndpointRequest, opts ...grpc.CallOption) (*IndexEndpoint, error) + // Deletes an IndexEndpoint. + DeleteIndexEndpoint(ctx context.Context, in *DeleteIndexEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deploys an Index into this IndexEndpoint, creating a DeployedIndex within + // it. + // Only non-empty Indexes can be deployed. + DeployIndex(ctx context.Context, in *DeployIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, + // and freeing all resources it's using. + UndeployIndex(ctx context.Context, in *UndeployIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Update an existing DeployedIndex under an IndexEndpoint. + MutateDeployedIndex(ctx context.Context, in *MutateDeployedIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type indexEndpointServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewIndexEndpointServiceClient(cc grpc.ClientConnInterface) IndexEndpointServiceClient { + return &indexEndpointServiceClient{cc} +} + +func (c *indexEndpointServiceClient) CreateIndexEndpoint(ctx context.Context, in *CreateIndexEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/CreateIndexEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) GetIndexEndpoint(ctx context.Context, in *GetIndexEndpointRequest, opts ...grpc.CallOption) (*IndexEndpoint, error) { + out := new(IndexEndpoint) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/GetIndexEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) ListIndexEndpoints(ctx context.Context, in *ListIndexEndpointsRequest, opts ...grpc.CallOption) (*ListIndexEndpointsResponse, error) { + out := new(ListIndexEndpointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/ListIndexEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) UpdateIndexEndpoint(ctx context.Context, in *UpdateIndexEndpointRequest, opts ...grpc.CallOption) (*IndexEndpoint, error) { + out := new(IndexEndpoint) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UpdateIndexEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) DeleteIndexEndpoint(ctx context.Context, in *DeleteIndexEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeleteIndexEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) DeployIndex(ctx context.Context, in *DeployIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeployIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) UndeployIndex(ctx context.Context, in *UndeployIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UndeployIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexEndpointServiceClient) MutateDeployedIndex(ctx context.Context, in *MutateDeployedIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/MutateDeployedIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IndexEndpointServiceServer is the server API for IndexEndpointService service. +// All implementations must embed UnimplementedIndexEndpointServiceServer +// for forward compatibility +type IndexEndpointServiceServer interface { + // Creates an IndexEndpoint. + CreateIndexEndpoint(context.Context, *CreateIndexEndpointRequest) (*longrunningpb.Operation, error) + // Gets an IndexEndpoint. + GetIndexEndpoint(context.Context, *GetIndexEndpointRequest) (*IndexEndpoint, error) + // Lists IndexEndpoints in a Location. + ListIndexEndpoints(context.Context, *ListIndexEndpointsRequest) (*ListIndexEndpointsResponse, error) + // Updates an IndexEndpoint. + UpdateIndexEndpoint(context.Context, *UpdateIndexEndpointRequest) (*IndexEndpoint, error) + // Deletes an IndexEndpoint. + DeleteIndexEndpoint(context.Context, *DeleteIndexEndpointRequest) (*longrunningpb.Operation, error) + // Deploys an Index into this IndexEndpoint, creating a DeployedIndex within + // it. + // Only non-empty Indexes can be deployed. + DeployIndex(context.Context, *DeployIndexRequest) (*longrunningpb.Operation, error) + // Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, + // and freeing all resources it's using. + UndeployIndex(context.Context, *UndeployIndexRequest) (*longrunningpb.Operation, error) + // Update an existing DeployedIndex under an IndexEndpoint. + MutateDeployedIndex(context.Context, *MutateDeployedIndexRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedIndexEndpointServiceServer() +} + +// UnimplementedIndexEndpointServiceServer must be embedded to have forward compatible implementations. +type UnimplementedIndexEndpointServiceServer struct { +} + +func (UnimplementedIndexEndpointServiceServer) CreateIndexEndpoint(context.Context, *CreateIndexEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateIndexEndpoint not implemented") +} +func (UnimplementedIndexEndpointServiceServer) GetIndexEndpoint(context.Context, *GetIndexEndpointRequest) (*IndexEndpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIndexEndpoint not implemented") +} +func (UnimplementedIndexEndpointServiceServer) ListIndexEndpoints(context.Context, *ListIndexEndpointsRequest) (*ListIndexEndpointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListIndexEndpoints not implemented") +} +func (UnimplementedIndexEndpointServiceServer) UpdateIndexEndpoint(context.Context, *UpdateIndexEndpointRequest) (*IndexEndpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateIndexEndpoint not implemented") +} +func (UnimplementedIndexEndpointServiceServer) DeleteIndexEndpoint(context.Context, *DeleteIndexEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteIndexEndpoint not implemented") +} +func (UnimplementedIndexEndpointServiceServer) DeployIndex(context.Context, *DeployIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeployIndex not implemented") +} +func (UnimplementedIndexEndpointServiceServer) UndeployIndex(context.Context, *UndeployIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UndeployIndex not implemented") +} +func (UnimplementedIndexEndpointServiceServer) MutateDeployedIndex(context.Context, *MutateDeployedIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method MutateDeployedIndex not implemented") +} +func (UnimplementedIndexEndpointServiceServer) mustEmbedUnimplementedIndexEndpointServiceServer() {} + +// UnsafeIndexEndpointServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IndexEndpointServiceServer will +// result in compilation errors. +type UnsafeIndexEndpointServiceServer interface { + mustEmbedUnimplementedIndexEndpointServiceServer() +} + +func RegisterIndexEndpointServiceServer(s grpc.ServiceRegistrar, srv IndexEndpointServiceServer) { + s.RegisterService(&IndexEndpointService_ServiceDesc, srv) +} + +func _IndexEndpointService_CreateIndexEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateIndexEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).CreateIndexEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/CreateIndexEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).CreateIndexEndpoint(ctx, req.(*CreateIndexEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_GetIndexEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetIndexEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).GetIndexEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/GetIndexEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).GetIndexEndpoint(ctx, req.(*GetIndexEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_ListIndexEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListIndexEndpointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).ListIndexEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/ListIndexEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).ListIndexEndpoints(ctx, req.(*ListIndexEndpointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_UpdateIndexEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateIndexEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).UpdateIndexEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UpdateIndexEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).UpdateIndexEndpoint(ctx, req.(*UpdateIndexEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_DeleteIndexEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteIndexEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).DeleteIndexEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeleteIndexEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).DeleteIndexEndpoint(ctx, req.(*DeleteIndexEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_DeployIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeployIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).DeployIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/DeployIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).DeployIndex(ctx, req.(*DeployIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_UndeployIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UndeployIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).UndeployIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/UndeployIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).UndeployIndex(ctx, req.(*UndeployIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexEndpointService_MutateDeployedIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MutateDeployedIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexEndpointServiceServer).MutateDeployedIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService/MutateDeployedIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexEndpointServiceServer).MutateDeployedIndex(ctx, req.(*MutateDeployedIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IndexEndpointService_ServiceDesc is the grpc.ServiceDesc for IndexEndpointService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IndexEndpointService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.IndexEndpointService", + HandlerType: (*IndexEndpointServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateIndexEndpoint", + Handler: _IndexEndpointService_CreateIndexEndpoint_Handler, + }, + { + MethodName: "GetIndexEndpoint", + Handler: _IndexEndpointService_GetIndexEndpoint_Handler, + }, + { + MethodName: "ListIndexEndpoints", + Handler: _IndexEndpointService_ListIndexEndpoints_Handler, + }, + { + MethodName: "UpdateIndexEndpoint", + Handler: _IndexEndpointService_UpdateIndexEndpoint_Handler, + }, + { + MethodName: "DeleteIndexEndpoint", + Handler: _IndexEndpointService_DeleteIndexEndpoint_Handler, + }, + { + MethodName: "DeployIndex", + Handler: _IndexEndpointService_DeployIndex_Handler, + }, + { + MethodName: "UndeployIndex", + Handler: _IndexEndpointService_UndeployIndex_Handler, + }, + { + MethodName: "MutateDeployedIndex", + Handler: _IndexEndpointService_MutateDeployedIndex_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/index_endpoint_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.go new file mode 100644 index 0000000000..2697c53a06 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.go @@ -0,0 +1,1693 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType int32 + +const ( + // Default, shall not be used. + NearestNeighborSearchOperationMetadata_RecordError_ERROR_TYPE_UNSPECIFIED NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 0 + // The record is empty. + NearestNeighborSearchOperationMetadata_RecordError_EMPTY_LINE NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 1 + // Invalid json format. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_JSON_SYNTAX NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 2 + // Invalid csv format. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_CSV_SYNTAX NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 3 + // Invalid avro format. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_AVRO_SYNTAX NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 4 + // The embedding id is not valid. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_EMBEDDING_ID NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 5 + // The size of the embedding vectors does not match with the specified + // dimension. + NearestNeighborSearchOperationMetadata_RecordError_EMBEDDING_SIZE_MISMATCH NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 6 + // The `namespace` field is missing. + NearestNeighborSearchOperationMetadata_RecordError_NAMESPACE_MISSING NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 7 + // Generic catch-all error. Only used for validation failure where the + // root cause cannot be easily retrieved programmatically. + NearestNeighborSearchOperationMetadata_RecordError_PARSING_ERROR NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 8 + // There are multiple restricts with the same `namespace` value. + NearestNeighborSearchOperationMetadata_RecordError_DUPLICATE_NAMESPACE NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 9 + // Numeric restrict has operator specified in datapoint. + NearestNeighborSearchOperationMetadata_RecordError_OP_IN_DATAPOINT NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 10 + // Numeric restrict has multiple values specified. + NearestNeighborSearchOperationMetadata_RecordError_MULTIPLE_VALUES NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 11 + // Numeric restrict has invalid numeric value specified. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_NUMERIC_VALUE NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 12 + // File is not in UTF_8 format. + NearestNeighborSearchOperationMetadata_RecordError_INVALID_ENCODING NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType = 13 +) + +// Enum value maps for NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType. +var ( + NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType_name = map[int32]string{ + 0: "ERROR_TYPE_UNSPECIFIED", + 1: "EMPTY_LINE", + 2: "INVALID_JSON_SYNTAX", + 3: "INVALID_CSV_SYNTAX", + 4: "INVALID_AVRO_SYNTAX", + 5: "INVALID_EMBEDDING_ID", + 6: "EMBEDDING_SIZE_MISMATCH", + 7: "NAMESPACE_MISSING", + 8: "PARSING_ERROR", + 9: "DUPLICATE_NAMESPACE", + 10: "OP_IN_DATAPOINT", + 11: "MULTIPLE_VALUES", + 12: "INVALID_NUMERIC_VALUE", + 13: "INVALID_ENCODING", + } + NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType_value = map[string]int32{ + "ERROR_TYPE_UNSPECIFIED": 0, + "EMPTY_LINE": 1, + "INVALID_JSON_SYNTAX": 2, + "INVALID_CSV_SYNTAX": 3, + "INVALID_AVRO_SYNTAX": 4, + "INVALID_EMBEDDING_ID": 5, + "EMBEDDING_SIZE_MISMATCH": 6, + "NAMESPACE_MISSING": 7, + "PARSING_ERROR": 8, + "DUPLICATE_NAMESPACE": 9, + "OP_IN_DATAPOINT": 10, + "MULTIPLE_VALUES": 11, + "INVALID_NUMERIC_VALUE": 12, + "INVALID_ENCODING": 13, + } +) + +func (x NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) Enum() *NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType { + p := new(NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) + *p = x + return p +} + +func (x NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_enumTypes[0].Descriptor() +} + +func (NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_enumTypes[0] +} + +func (x NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType.Descriptor instead. +func (NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{12, 0, 0} +} + +// Request message for +// [IndexService.CreateIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.CreateIndex]. +type CreateIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the Index in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Index to create. + Index *Index `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` +} + +func (x *CreateIndexRequest) Reset() { + *x = CreateIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateIndexRequest) ProtoMessage() {} + +func (x *CreateIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[0] + 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 CreateIndexRequest.ProtoReflect.Descriptor instead. +func (*CreateIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateIndexRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateIndexRequest) GetIndex() *Index { + if x != nil { + return x.Index + } + return nil +} + +// Runtime operation information for +// [IndexService.CreateIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.CreateIndex]. +type CreateIndexOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // The operation metadata with regard to Matching Engine Index operation. + NearestNeighborSearchOperationMetadata *NearestNeighborSearchOperationMetadata `protobuf:"bytes,2,opt,name=nearest_neighbor_search_operation_metadata,json=nearestNeighborSearchOperationMetadata,proto3" json:"nearest_neighbor_search_operation_metadata,omitempty"` +} + +func (x *CreateIndexOperationMetadata) Reset() { + *x = CreateIndexOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateIndexOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateIndexOperationMetadata) ProtoMessage() {} + +func (x *CreateIndexOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[1] + 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 CreateIndexOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateIndexOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateIndexOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *CreateIndexOperationMetadata) GetNearestNeighborSearchOperationMetadata() *NearestNeighborSearchOperationMetadata { + if x != nil { + return x.NearestNeighborSearchOperationMetadata + } + return nil +} + +// Request message for +// [IndexService.GetIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.GetIndex] +type GetIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Index resource. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetIndexRequest) Reset() { + *x = GetIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIndexRequest) ProtoMessage() {} + +func (x *GetIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_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 GetIndexRequest.ProtoReflect.Descriptor instead. +func (*GetIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetIndexRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [IndexService.ListIndexes][mockgcp.cloud.aiplatform.v1beta1.IndexService.ListIndexes]. +type ListIndexesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the Indexes. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListIndexesResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListIndexesResponse.next_page_token] + // of the previous + // [IndexService.ListIndexes][mockgcp.cloud.aiplatform.v1beta1.IndexService.ListIndexes] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListIndexesRequest) Reset() { + *x = ListIndexesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListIndexesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIndexesRequest) ProtoMessage() {} + +func (x *ListIndexesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[3] + 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 ListIndexesRequest.ProtoReflect.Descriptor instead. +func (*ListIndexesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListIndexesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListIndexesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListIndexesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListIndexesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListIndexesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [IndexService.ListIndexes][mockgcp.cloud.aiplatform.v1beta1.IndexService.ListIndexes]. +type ListIndexesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of indexes in the requested page. + Indexes []*Index `protobuf:"bytes,1,rep,name=indexes,proto3" json:"indexes,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListIndexesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListIndexesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListIndexesResponse) Reset() { + *x = ListIndexesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListIndexesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIndexesResponse) ProtoMessage() {} + +func (x *ListIndexesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[4] + 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 ListIndexesResponse.ProtoReflect.Descriptor instead. +func (*ListIndexesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListIndexesResponse) GetIndexes() []*Index { + if x != nil { + return x.Indexes + } + return nil +} + +func (x *ListIndexesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [IndexService.UpdateIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.UpdateIndex]. +type UpdateIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Index which updates the resource on the server. + Index *Index `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + // The update mask applies to the resource. + // For the `FieldMask` definition, see + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateIndexRequest) Reset() { + *x = UpdateIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateIndexRequest) ProtoMessage() {} + +func (x *UpdateIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[5] + 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 UpdateIndexRequest.ProtoReflect.Descriptor instead. +func (*UpdateIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateIndexRequest) GetIndex() *Index { + if x != nil { + return x.Index + } + return nil +} + +func (x *UpdateIndexRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Runtime operation information for +// [IndexService.UpdateIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.UpdateIndex]. +type UpdateIndexOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // The operation metadata with regard to Matching Engine Index operation. + NearestNeighborSearchOperationMetadata *NearestNeighborSearchOperationMetadata `protobuf:"bytes,2,opt,name=nearest_neighbor_search_operation_metadata,json=nearestNeighborSearchOperationMetadata,proto3" json:"nearest_neighbor_search_operation_metadata,omitempty"` +} + +func (x *UpdateIndexOperationMetadata) Reset() { + *x = UpdateIndexOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateIndexOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateIndexOperationMetadata) ProtoMessage() {} + +func (x *UpdateIndexOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_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 UpdateIndexOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateIndexOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateIndexOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *UpdateIndexOperationMetadata) GetNearestNeighborSearchOperationMetadata() *NearestNeighborSearchOperationMetadata { + if x != nil { + return x.NearestNeighborSearchOperationMetadata + } + return nil +} + +// Request message for +// [IndexService.DeleteIndex][mockgcp.cloud.aiplatform.v1beta1.IndexService.DeleteIndex]. +type DeleteIndexRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Index resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteIndexRequest) Reset() { + *x = DeleteIndexRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteIndexRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteIndexRequest) ProtoMessage() {} + +func (x *DeleteIndexRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[7] + 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 DeleteIndexRequest.ProtoReflect.Descriptor instead. +func (*DeleteIndexRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{7} +} + +func (x *DeleteIndexRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [IndexService.UpsertDatapoints][mockgcp.cloud.aiplatform.v1beta1.IndexService.UpsertDatapoints] +type UpsertDatapointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Index resource to be updated. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + // A list of datapoints to be created/updated. + Datapoints []*IndexDatapoint `protobuf:"bytes,2,rep,name=datapoints,proto3" json:"datapoints,omitempty"` + // Optional. Update mask is used to specify the fields to be overwritten in + // the datapoints by the update. The fields specified in the update_mask are + // relative to each IndexDatapoint inside datapoints, not the full request. + // + // Updatable fields: + // + // - Use `all_restricts` to update both restricts and numeric_restricts. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpsertDatapointsRequest) Reset() { + *x = UpsertDatapointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpsertDatapointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertDatapointsRequest) ProtoMessage() {} + +func (x *UpsertDatapointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_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 UpsertDatapointsRequest.ProtoReflect.Descriptor instead. +func (*UpsertDatapointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{8} +} + +func (x *UpsertDatapointsRequest) GetIndex() string { + if x != nil { + return x.Index + } + return "" +} + +func (x *UpsertDatapointsRequest) GetDatapoints() []*IndexDatapoint { + if x != nil { + return x.Datapoints + } + return nil +} + +func (x *UpsertDatapointsRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Response message for +// [IndexService.UpsertDatapoints][mockgcp.cloud.aiplatform.v1beta1.IndexService.UpsertDatapoints] +type UpsertDatapointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpsertDatapointsResponse) Reset() { + *x = UpsertDatapointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpsertDatapointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertDatapointsResponse) ProtoMessage() {} + +func (x *UpsertDatapointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[9] + 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 UpsertDatapointsResponse.ProtoReflect.Descriptor instead. +func (*UpsertDatapointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{9} +} + +// Request message for +// [IndexService.RemoveDatapoints][mockgcp.cloud.aiplatform.v1beta1.IndexService.RemoveDatapoints] +type RemoveDatapointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Index resource to be updated. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"` + // A list of datapoint ids to be deleted. + DatapointIds []string `protobuf:"bytes,2,rep,name=datapoint_ids,json=datapointIds,proto3" json:"datapoint_ids,omitempty"` +} + +func (x *RemoveDatapointsRequest) Reset() { + *x = RemoveDatapointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveDatapointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveDatapointsRequest) ProtoMessage() {} + +func (x *RemoveDatapointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[10] + 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 RemoveDatapointsRequest.ProtoReflect.Descriptor instead. +func (*RemoveDatapointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveDatapointsRequest) GetIndex() string { + if x != nil { + return x.Index + } + return "" +} + +func (x *RemoveDatapointsRequest) GetDatapointIds() []string { + if x != nil { + return x.DatapointIds + } + return nil +} + +// Response message for +// [IndexService.RemoveDatapoints][mockgcp.cloud.aiplatform.v1beta1.IndexService.RemoveDatapoints] +type RemoveDatapointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemoveDatapointsResponse) Reset() { + *x = RemoveDatapointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveDatapointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveDatapointsResponse) ProtoMessage() {} + +func (x *RemoveDatapointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[11] + 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 RemoveDatapointsResponse.ProtoReflect.Descriptor instead. +func (*RemoveDatapointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{11} +} + +// Runtime operation metadata with regard to Matching Engine Index. +type NearestNeighborSearchOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The validation stats of the content (per file) to be inserted or + // updated on the Matching Engine Index resource. Populated if + // contentsDeltaUri is provided as part of + // [Index.metadata][mockgcp.cloud.aiplatform.v1beta1.Index.metadata]. Please + // note that, currently for those files that are broken or has unsupported + // file format, we will not have the stats for those files. + ContentValidationStats []*NearestNeighborSearchOperationMetadata_ContentValidationStats `protobuf:"bytes,1,rep,name=content_validation_stats,json=contentValidationStats,proto3" json:"content_validation_stats,omitempty"` + // The ingested data size in bytes. + DataBytesCount int64 `protobuf:"varint,2,opt,name=data_bytes_count,json=dataBytesCount,proto3" json:"data_bytes_count,omitempty"` +} + +func (x *NearestNeighborSearchOperationMetadata) Reset() { + *x = NearestNeighborSearchOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborSearchOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborSearchOperationMetadata) ProtoMessage() {} + +func (x *NearestNeighborSearchOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[12] + 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 NearestNeighborSearchOperationMetadata.ProtoReflect.Descriptor instead. +func (*NearestNeighborSearchOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{12} +} + +func (x *NearestNeighborSearchOperationMetadata) GetContentValidationStats() []*NearestNeighborSearchOperationMetadata_ContentValidationStats { + if x != nil { + return x.ContentValidationStats + } + return nil +} + +func (x *NearestNeighborSearchOperationMetadata) GetDataBytesCount() int64 { + if x != nil { + return x.DataBytesCount + } + return 0 +} + +type NearestNeighborSearchOperationMetadata_RecordError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The error type of this record. + ErrorType NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType `protobuf:"varint,1,opt,name=error_type,json=errorType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType" json:"error_type,omitempty"` + // A human-readable message that is shown to the user to help them fix the + // error. Note that this message may change from time to time, your code + // should check against error_type as the source of truth. + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Cloud Storage URI pointing to the original file in user's bucket. + SourceGcsUri string `protobuf:"bytes,3,opt,name=source_gcs_uri,json=sourceGcsUri,proto3" json:"source_gcs_uri,omitempty"` + // Empty if the embedding id is failed to parse. + EmbeddingId string `protobuf:"bytes,4,opt,name=embedding_id,json=embeddingId,proto3" json:"embedding_id,omitempty"` + // The original content of this record. + RawRecord string `protobuf:"bytes,5,opt,name=raw_record,json=rawRecord,proto3" json:"raw_record,omitempty"` +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) Reset() { + *x = NearestNeighborSearchOperationMetadata_RecordError{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborSearchOperationMetadata_RecordError) ProtoMessage() {} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[13] + 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 NearestNeighborSearchOperationMetadata_RecordError.ProtoReflect.Descriptor instead. +func (*NearestNeighborSearchOperationMetadata_RecordError) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) GetErrorType() NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType { + if x != nil { + return x.ErrorType + } + return NearestNeighborSearchOperationMetadata_RecordError_ERROR_TYPE_UNSPECIFIED +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) GetSourceGcsUri() string { + if x != nil { + return x.SourceGcsUri + } + return "" +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) GetEmbeddingId() string { + if x != nil { + return x.EmbeddingId + } + return "" +} + +func (x *NearestNeighborSearchOperationMetadata_RecordError) GetRawRecord() string { + if x != nil { + return x.RawRecord + } + return "" +} + +type NearestNeighborSearchOperationMetadata_ContentValidationStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Cloud Storage URI pointing to the original file in user's bucket. + SourceGcsUri string `protobuf:"bytes,1,opt,name=source_gcs_uri,json=sourceGcsUri,proto3" json:"source_gcs_uri,omitempty"` + // Number of records in this file that were successfully processed. + ValidRecordCount int64 `protobuf:"varint,2,opt,name=valid_record_count,json=validRecordCount,proto3" json:"valid_record_count,omitempty"` + // Number of records in this file we skipped due to validate errors. + InvalidRecordCount int64 `protobuf:"varint,3,opt,name=invalid_record_count,json=invalidRecordCount,proto3" json:"invalid_record_count,omitempty"` + // The detail information of the partial failures encountered for those + // invalid records that couldn't be parsed. + // Up to 50 partial errors will be reported. + PartialErrors []*NearestNeighborSearchOperationMetadata_RecordError `protobuf:"bytes,4,rep,name=partial_errors,json=partialErrors,proto3" json:"partial_errors,omitempty"` +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) Reset() { + *x = NearestNeighborSearchOperationMetadata_ContentValidationStats{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NearestNeighborSearchOperationMetadata_ContentValidationStats) ProtoMessage() {} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[14] + 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 NearestNeighborSearchOperationMetadata_ContentValidationStats.ProtoReflect.Descriptor instead. +func (*NearestNeighborSearchOperationMetadata_ContentValidationStats) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP(), []int{12, 1} +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) GetSourceGcsUri() string { + if x != nil { + return x.SourceGcsUri + } + return "" +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) GetValidRecordCount() int64 { + if x != nil { + return x.ValidRecordCount + } + return 0 +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) GetInvalidRecordCount() int64 { + if x != nil { + return x.InvalidRecordCount + } + return 0 +} + +func (x *NearestNeighborSearchOperationMetadata_ContentValidationStats) GetPartialErrors() []*NearestNeighborSearchOperationMetadata_RecordError { + if x != nil { + return x.PartialErrors + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_index_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x22, + 0x9b, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xac, 0x02, + 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, + 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa4, 0x01, 0x0a, 0x2a, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, + 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, + 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x26, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4e, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe4, 0x01, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 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, 0x95, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x02, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xac, + 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa4, 0x01, 0x0a, 0x2a, 0x6e, 0x65, 0x61, 0x72, 0x65, + 0x73, 0x74, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x26, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, + 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xec, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x50, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 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, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x17, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x09, 0x0a, 0x26, 0x4e, 0x65, 0x61, 0x72, 0x65, + 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x99, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, + 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xff, 0x04, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x64, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x63, 0x73, + 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x47, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, + 0x61, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x61, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x0f, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4d, + 0x50, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, + 0x58, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, + 0x53, 0x56, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x56, 0x52, 0x4f, 0x5f, 0x53, 0x59, 0x4e, 0x54, + 0x41, 0x58, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x1b, + 0x0a, 0x17, 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x49, 0x5a, 0x45, + 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x4e, + 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, + 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x41, 0x52, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x09, 0x12, 0x13, + 0x0a, 0x0f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, + 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x56, 0x41, 0x4c, 0x55, + 0x45, 0x10, 0x0c, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x45, + 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x0d, 0x1a, 0x9b, 0x02, 0x0a, 0x16, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, + 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x47, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x7b, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x32, 0x9c, 0x0c, 0x0a, 0x0c, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xda, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0x76, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x3a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xda, 0x41, + 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xca, 0x41, 0x25, + 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa7, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xbd, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0xe6, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0x81, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x32, 0x36, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xda, 0x41, 0x11, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0xca, 0x41, 0x25, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd6, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 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, 0x72, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xd8, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x73, 0x65, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xd8, 0x01, 0x0a, + 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, + 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xe9, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x11, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_goTypes = []interface{}{ + (NearestNeighborSearchOperationMetadata_RecordError_RecordErrorType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.RecordError.RecordErrorType + (*CreateIndexRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateIndexRequest + (*CreateIndexOperationMetadata)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.CreateIndexOperationMetadata + (*GetIndexRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.GetIndexRequest + (*ListIndexesRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListIndexesRequest + (*ListIndexesResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ListIndexesResponse + (*UpdateIndexRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexRequest + (*UpdateIndexOperationMetadata)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexOperationMetadata + (*DeleteIndexRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.DeleteIndexRequest + (*UpsertDatapointsRequest)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsRequest + (*UpsertDatapointsResponse)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsResponse + (*RemoveDatapointsRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.RemoveDatapointsRequest + (*RemoveDatapointsResponse)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.RemoveDatapointsResponse + (*NearestNeighborSearchOperationMetadata)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata + (*NearestNeighborSearchOperationMetadata_RecordError)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.RecordError + (*NearestNeighborSearchOperationMetadata_ContentValidationStats)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.ContentValidationStats + (*Index)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.Index + (*GenericOperationMetadata)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 18: google.protobuf.FieldMask + (*IndexDatapoint)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + (*longrunningpb.Operation)(nil), // 20: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_depIdxs = []int32{ + 16, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateIndexRequest.index:type_name -> mockgcp.cloud.aiplatform.v1beta1.Index + 17, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateIndexOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 13, // 2: mockgcp.cloud.aiplatform.v1beta1.CreateIndexOperationMetadata.nearest_neighbor_search_operation_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata + 18, // 3: mockgcp.cloud.aiplatform.v1beta1.ListIndexesRequest.read_mask:type_name -> google.protobuf.FieldMask + 16, // 4: mockgcp.cloud.aiplatform.v1beta1.ListIndexesResponse.indexes:type_name -> mockgcp.cloud.aiplatform.v1beta1.Index + 16, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexRequest.index:type_name -> mockgcp.cloud.aiplatform.v1beta1.Index + 18, // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexRequest.update_mask:type_name -> google.protobuf.FieldMask + 17, // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 13, // 8: mockgcp.cloud.aiplatform.v1beta1.UpdateIndexOperationMetadata.nearest_neighbor_search_operation_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata + 19, // 9: mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsRequest.datapoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + 18, // 10: mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsRequest.update_mask:type_name -> google.protobuf.FieldMask + 15, // 11: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.content_validation_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.ContentValidationStats + 0, // 12: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.RecordError.error_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.RecordError.RecordErrorType + 14, // 13: mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.ContentValidationStats.partial_errors:type_name -> mockgcp.cloud.aiplatform.v1beta1.NearestNeighborSearchOperationMetadata.RecordError + 1, // 14: mockgcp.cloud.aiplatform.v1beta1.IndexService.CreateIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateIndexRequest + 3, // 15: mockgcp.cloud.aiplatform.v1beta1.IndexService.GetIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetIndexRequest + 4, // 16: mockgcp.cloud.aiplatform.v1beta1.IndexService.ListIndexes:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListIndexesRequest + 6, // 17: mockgcp.cloud.aiplatform.v1beta1.IndexService.UpdateIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateIndexRequest + 8, // 18: mockgcp.cloud.aiplatform.v1beta1.IndexService.DeleteIndex:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteIndexRequest + 9, // 19: mockgcp.cloud.aiplatform.v1beta1.IndexService.UpsertDatapoints:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsRequest + 11, // 20: mockgcp.cloud.aiplatform.v1beta1.IndexService.RemoveDatapoints:input_type -> mockgcp.cloud.aiplatform.v1beta1.RemoveDatapointsRequest + 20, // 21: mockgcp.cloud.aiplatform.v1beta1.IndexService.CreateIndex:output_type -> google.longrunning.Operation + 16, // 22: mockgcp.cloud.aiplatform.v1beta1.IndexService.GetIndex:output_type -> mockgcp.cloud.aiplatform.v1beta1.Index + 5, // 23: mockgcp.cloud.aiplatform.v1beta1.IndexService.ListIndexes:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListIndexesResponse + 20, // 24: mockgcp.cloud.aiplatform.v1beta1.IndexService.UpdateIndex:output_type -> google.longrunning.Operation + 20, // 25: mockgcp.cloud.aiplatform.v1beta1.IndexService.DeleteIndex:output_type -> google.longrunning.Operation + 10, // 26: mockgcp.cloud.aiplatform.v1beta1.IndexService.UpsertDatapoints:output_type -> mockgcp.cloud.aiplatform.v1beta1.UpsertDatapointsResponse + 12, // 27: mockgcp.cloud.aiplatform.v1beta1.IndexService.RemoveDatapoints:output_type -> mockgcp.cloud.aiplatform.v1beta1.RemoveDatapointsResponse + 21, // [21:28] is the sub-list for method output_type + 14, // [14:21] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_index_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateIndexOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListIndexesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListIndexesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteIndexRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertDatapointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpsertDatapointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveDatapointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveDatapointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborSearchOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborSearchOperationMetadata_RecordError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NearestNeighborSearchOperationMetadata_ContentValidationStats); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 15, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_index_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_index_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.gw.go new file mode 100644 index 0000000000..2a42e9e3c8 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service.pb.gw.go @@ -0,0 +1,921 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/index_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_IndexService_CreateIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Index); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_CreateIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Index); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateIndex(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexService_GetIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetIndexRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_GetIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetIndexRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetIndex(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IndexService_ListIndexes_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_IndexService_ListIndexes_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListIndexesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexService_ListIndexes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListIndexes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_ListIndexes_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListIndexesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexService_ListIndexes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListIndexes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IndexService_UpdateIndex_0 = &utilities.DoubleArray{Encoding: map[string]int{"index": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_IndexService_UpdateIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Index); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Index); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "index.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexService_UpdateIndex_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_UpdateIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateIndexRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Index); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Index); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "index.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IndexService_UpdateIndex_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateIndex(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexService_DeleteIndex_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteIndexRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteIndex(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_DeleteIndex_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteIndexRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteIndex(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexService_UpsertDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpsertDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") + } + + protoReq.Index, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) + } + + msg, err := client.UpsertDatapoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_UpsertDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpsertDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") + } + + protoReq.Index, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) + } + + msg, err := server.UpsertDatapoints(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IndexService_RemoveDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, client IndexServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") + } + + protoReq.Index, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) + } + + msg, err := client.RemoveDatapoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IndexService_RemoveDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, server IndexServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index") + } + + protoReq.Index, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index", err) + } + + msg, err := server.RemoveDatapoints(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterIndexServiceHandlerServer registers the http handlers for service IndexService to "mux". +// UnaryRPC :call IndexServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterIndexServiceHandlerFromEndpoint instead. +func RegisterIndexServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IndexServiceServer) error { + + mux.Handle("POST", pattern_IndexService_CreateIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/CreateIndex", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_CreateIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_CreateIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexService_GetIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/GetIndex", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_GetIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_GetIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexService_ListIndexes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/ListIndexes", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_ListIndexes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_ListIndexes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_IndexService_UpdateIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpdateIndex", runtime.WithHTTPPathPattern("/v1beta1/{index.name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_UpdateIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_UpdateIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IndexService_DeleteIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/DeleteIndex", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_DeleteIndex_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_DeleteIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexService_UpsertDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpsertDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index=projects/*/locations/*/indexes/*}:upsertDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_UpsertDatapoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_UpsertDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexService_RemoveDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/RemoveDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index=projects/*/locations/*/indexes/*}:removeDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IndexService_RemoveDatapoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_RemoveDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterIndexServiceHandlerFromEndpoint is same as RegisterIndexServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterIndexServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterIndexServiceHandler(ctx, mux, conn) +} + +// RegisterIndexServiceHandler registers the http handlers for service IndexService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterIndexServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterIndexServiceHandlerClient(ctx, mux, NewIndexServiceClient(conn)) +} + +// RegisterIndexServiceHandlerClient registers the http handlers for service IndexService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IndexServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IndexServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "IndexServiceClient" to call the correct interceptors. +func RegisterIndexServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IndexServiceClient) error { + + mux.Handle("POST", pattern_IndexService_CreateIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/CreateIndex", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_CreateIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_CreateIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexService_GetIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/GetIndex", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_GetIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_GetIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IndexService_ListIndexes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/ListIndexes", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/indexes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_ListIndexes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_ListIndexes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_IndexService_UpdateIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpdateIndex", runtime.WithHTTPPathPattern("/v1beta1/{index.name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_UpdateIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_UpdateIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IndexService_DeleteIndex_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/DeleteIndex", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/indexes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_DeleteIndex_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_DeleteIndex_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexService_UpsertDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpsertDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index=projects/*/locations/*/indexes/*}:upsertDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_UpsertDatapoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_UpsertDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IndexService_RemoveDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/RemoveDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index=projects/*/locations/*/indexes/*}:removeDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IndexService_RemoveDatapoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IndexService_RemoveDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_IndexService_CreateIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "indexes"}, "")) + + pattern_IndexService_GetIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexes", "name"}, "")) + + pattern_IndexService_ListIndexes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "indexes"}, "")) + + pattern_IndexService_UpdateIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexes", "index.name"}, "")) + + pattern_IndexService_DeleteIndex_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexes", "name"}, "")) + + pattern_IndexService_UpsertDatapoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexes", "index"}, "upsertDatapoints")) + + pattern_IndexService_RemoveDatapoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexes", "index"}, "removeDatapoints")) +) + +var ( + forward_IndexService_CreateIndex_0 = runtime.ForwardResponseMessage + + forward_IndexService_GetIndex_0 = runtime.ForwardResponseMessage + + forward_IndexService_ListIndexes_0 = runtime.ForwardResponseMessage + + forward_IndexService_UpdateIndex_0 = runtime.ForwardResponseMessage + + forward_IndexService_DeleteIndex_0 = runtime.ForwardResponseMessage + + forward_IndexService_UpsertDatapoints_0 = runtime.ForwardResponseMessage + + forward_IndexService_RemoveDatapoints_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service_grpc.pb.go new file mode 100644 index 0000000000..8a28fd6eb0 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/index_service_grpc.pb.go @@ -0,0 +1,342 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/index_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// IndexServiceClient is the client API for IndexService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type IndexServiceClient interface { + // Creates an Index. + CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets an Index. + GetIndex(ctx context.Context, in *GetIndexRequest, opts ...grpc.CallOption) (*Index, error) + // Lists Indexes in a Location. + ListIndexes(ctx context.Context, in *ListIndexesRequest, opts ...grpc.CallOption) (*ListIndexesResponse, error) + // Updates an Index. + UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes an Index. + // An Index can only be deleted when all its + // [DeployedIndexes][mockgcp.cloud.aiplatform.v1beta1.Index.deployed_indexes] + // had been undeployed. + DeleteIndex(ctx context.Context, in *DeleteIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Add/update Datapoints into an Index. + UpsertDatapoints(ctx context.Context, in *UpsertDatapointsRequest, opts ...grpc.CallOption) (*UpsertDatapointsResponse, error) + // Remove Datapoints from an Index. + RemoveDatapoints(ctx context.Context, in *RemoveDatapointsRequest, opts ...grpc.CallOption) (*RemoveDatapointsResponse, error) +} + +type indexServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewIndexServiceClient(cc grpc.ClientConnInterface) IndexServiceClient { + return &indexServiceClient{cc} +} + +func (c *indexServiceClient) CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/CreateIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) GetIndex(ctx context.Context, in *GetIndexRequest, opts ...grpc.CallOption) (*Index, error) { + out := new(Index) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/GetIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) ListIndexes(ctx context.Context, in *ListIndexesRequest, opts ...grpc.CallOption) (*ListIndexesResponse, error) { + out := new(ListIndexesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/ListIndexes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpdateIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) DeleteIndex(ctx context.Context, in *DeleteIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/DeleteIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) UpsertDatapoints(ctx context.Context, in *UpsertDatapointsRequest, opts ...grpc.CallOption) (*UpsertDatapointsResponse, error) { + out := new(UpsertDatapointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpsertDatapoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *indexServiceClient) RemoveDatapoints(ctx context.Context, in *RemoveDatapointsRequest, opts ...grpc.CallOption) (*RemoveDatapointsResponse, error) { + out := new(RemoveDatapointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.IndexService/RemoveDatapoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IndexServiceServer is the server API for IndexService service. +// All implementations must embed UnimplementedIndexServiceServer +// for forward compatibility +type IndexServiceServer interface { + // Creates an Index. + CreateIndex(context.Context, *CreateIndexRequest) (*longrunningpb.Operation, error) + // Gets an Index. + GetIndex(context.Context, *GetIndexRequest) (*Index, error) + // Lists Indexes in a Location. + ListIndexes(context.Context, *ListIndexesRequest) (*ListIndexesResponse, error) + // Updates an Index. + UpdateIndex(context.Context, *UpdateIndexRequest) (*longrunningpb.Operation, error) + // Deletes an Index. + // An Index can only be deleted when all its + // [DeployedIndexes][mockgcp.cloud.aiplatform.v1beta1.Index.deployed_indexes] + // had been undeployed. + DeleteIndex(context.Context, *DeleteIndexRequest) (*longrunningpb.Operation, error) + // Add/update Datapoints into an Index. + UpsertDatapoints(context.Context, *UpsertDatapointsRequest) (*UpsertDatapointsResponse, error) + // Remove Datapoints from an Index. + RemoveDatapoints(context.Context, *RemoveDatapointsRequest) (*RemoveDatapointsResponse, error) + mustEmbedUnimplementedIndexServiceServer() +} + +// UnimplementedIndexServiceServer must be embedded to have forward compatible implementations. +type UnimplementedIndexServiceServer struct { +} + +func (UnimplementedIndexServiceServer) CreateIndex(context.Context, *CreateIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateIndex not implemented") +} +func (UnimplementedIndexServiceServer) GetIndex(context.Context, *GetIndexRequest) (*Index, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIndex not implemented") +} +func (UnimplementedIndexServiceServer) ListIndexes(context.Context, *ListIndexesRequest) (*ListIndexesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListIndexes not implemented") +} +func (UnimplementedIndexServiceServer) UpdateIndex(context.Context, *UpdateIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateIndex not implemented") +} +func (UnimplementedIndexServiceServer) DeleteIndex(context.Context, *DeleteIndexRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteIndex not implemented") +} +func (UnimplementedIndexServiceServer) UpsertDatapoints(context.Context, *UpsertDatapointsRequest) (*UpsertDatapointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertDatapoints not implemented") +} +func (UnimplementedIndexServiceServer) RemoveDatapoints(context.Context, *RemoveDatapointsRequest) (*RemoveDatapointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveDatapoints not implemented") +} +func (UnimplementedIndexServiceServer) mustEmbedUnimplementedIndexServiceServer() {} + +// UnsafeIndexServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IndexServiceServer will +// result in compilation errors. +type UnsafeIndexServiceServer interface { + mustEmbedUnimplementedIndexServiceServer() +} + +func RegisterIndexServiceServer(s grpc.ServiceRegistrar, srv IndexServiceServer) { + s.RegisterService(&IndexService_ServiceDesc, srv) +} + +func _IndexService_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).CreateIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/CreateIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).CreateIndex(ctx, req.(*CreateIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_GetIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).GetIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/GetIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).GetIndex(ctx, req.(*GetIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_ListIndexes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListIndexesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).ListIndexes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/ListIndexes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).ListIndexes(ctx, req.(*ListIndexesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_UpdateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).UpdateIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpdateIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).UpdateIndex(ctx, req.(*UpdateIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_DeleteIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).DeleteIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/DeleteIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).DeleteIndex(ctx, req.(*DeleteIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_UpsertDatapoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertDatapointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).UpsertDatapoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/UpsertDatapoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).UpsertDatapoints(ctx, req.(*UpsertDatapointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IndexService_RemoveDatapoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveDatapointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexServiceServer).RemoveDatapoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.IndexService/RemoveDatapoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexServiceServer).RemoveDatapoints(ctx, req.(*RemoveDatapointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IndexService_ServiceDesc is the grpc.ServiceDesc for IndexService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IndexService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.IndexService", + HandlerType: (*IndexServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateIndex", + Handler: _IndexService_CreateIndex_Handler, + }, + { + MethodName: "GetIndex", + Handler: _IndexService_GetIndex_Handler, + }, + { + MethodName: "ListIndexes", + Handler: _IndexService_ListIndexes_Handler, + }, + { + MethodName: "UpdateIndex", + Handler: _IndexService_UpdateIndex_Handler, + }, + { + MethodName: "DeleteIndex", + Handler: _IndexService_DeleteIndex_Handler, + }, + { + MethodName: "UpsertDatapoints", + Handler: _IndexService_UpsertDatapoints_Handler, + }, + { + MethodName: "RemoveDatapoints", + Handler: _IndexService_RemoveDatapoints_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/index_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/io.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/io.pb.go new file mode 100644 index 0000000000..5f6b3d2368 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/io.pb.go @@ -0,0 +1,747 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/io.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The storage details for Avro input content. +type AvroSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage location. + GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"` +} + +func (x *AvroSource) Reset() { + *x = AvroSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AvroSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AvroSource) ProtoMessage() {} + +func (x *AvroSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[0] + 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 AvroSource.ProtoReflect.Descriptor instead. +func (*AvroSource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{0} +} + +func (x *AvroSource) GetGcsSource() *GcsSource { + if x != nil { + return x.GcsSource + } + return nil +} + +// The storage details for CSV input content. +type CsvSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage location. + GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"` +} + +func (x *CsvSource) Reset() { + *x = CsvSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CsvSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CsvSource) ProtoMessage() {} + +func (x *CsvSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[1] + 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 CsvSource.ProtoReflect.Descriptor instead. +func (*CsvSource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{1} +} + +func (x *CsvSource) GetGcsSource() *GcsSource { + if x != nil { + return x.GcsSource + } + return nil +} + +// The Google Cloud Storage location for the input content. +type GcsSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage URI(-s) to the input file(s). May contain + // wildcards. For more information on wildcards, see + // https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames. + Uris []string `protobuf:"bytes,1,rep,name=uris,proto3" json:"uris,omitempty"` +} + +func (x *GcsSource) Reset() { + *x = GcsSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcsSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcsSource) ProtoMessage() {} + +func (x *GcsSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_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 GcsSource.ProtoReflect.Descriptor instead. +func (*GcsSource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{2} +} + +func (x *GcsSource) GetUris() []string { + if x != nil { + return x.Uris + } + return nil +} + +// The Google Cloud Storage location where the output is to be written to. +type GcsDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage URI to output directory. If the uri doesn't + // end with + // '/', a '/' will be automatically appended. The directory is created if it + // doesn't exist. + OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` +} + +func (x *GcsDestination) Reset() { + *x = GcsDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcsDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcsDestination) ProtoMessage() {} + +func (x *GcsDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[3] + 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 GcsDestination.ProtoReflect.Descriptor instead. +func (*GcsDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{3} +} + +func (x *GcsDestination) GetOutputUriPrefix() string { + if x != nil { + return x.OutputUriPrefix + } + return "" +} + +// The BigQuery location for the input content. +type BigQuerySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. BigQuery URI to a table, up to 2000 characters long. + // Accepted forms: + // + // * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`. + InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` +} + +func (x *BigQuerySource) Reset() { + *x = BigQuerySource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BigQuerySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQuerySource) ProtoMessage() {} + +func (x *BigQuerySource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[4] + 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 BigQuerySource.ProtoReflect.Descriptor instead. +func (*BigQuerySource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{4} +} + +func (x *BigQuerySource) GetInputUri() string { + if x != nil { + return x.InputUri + } + return "" +} + +// The BigQuery location for the output content. +type BigQueryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. BigQuery URI to a project or table, up to 2000 characters long. + // + // When only the project is specified, the Dataset and Table is created. + // When the full table reference is specified, the Dataset must exist and + // table must not exist. + // + // Accepted forms: + // + // * BigQuery path. For example: + // `bq://projectId` or `bq://projectId.bqDatasetId` or + // `bq://projectId.bqDatasetId.bqTableId`. + OutputUri string `protobuf:"bytes,1,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"` +} + +func (x *BigQueryDestination) Reset() { + *x = BigQueryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BigQueryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQueryDestination) ProtoMessage() {} + +func (x *BigQueryDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[5] + 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 BigQueryDestination.ProtoReflect.Descriptor instead. +func (*BigQueryDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{5} +} + +func (x *BigQueryDestination) GetOutputUri() string { + if x != nil { + return x.OutputUri + } + return "" +} + +// The storage details for CSV output content. +type CsvDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage location. + GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"` +} + +func (x *CsvDestination) Reset() { + *x = CsvDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CsvDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CsvDestination) ProtoMessage() {} + +func (x *CsvDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_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 CsvDestination.ProtoReflect.Descriptor instead. +func (*CsvDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{6} +} + +func (x *CsvDestination) GetGcsDestination() *GcsDestination { + if x != nil { + return x.GcsDestination + } + return nil +} + +// The storage details for TFRecord output content. +type TFRecordDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage location. + GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"` +} + +func (x *TFRecordDestination) Reset() { + *x = TFRecordDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TFRecordDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TFRecordDestination) ProtoMessage() {} + +func (x *TFRecordDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[7] + 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 TFRecordDestination.ProtoReflect.Descriptor instead. +func (*TFRecordDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{7} +} + +func (x *TFRecordDestination) GetGcsDestination() *GcsDestination { + if x != nil { + return x.GcsDestination + } + return nil +} + +// The Container Registry location for the container image. +type ContainerRegistryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Container Registry URI of a container image. + // Only Google Container Registry and Artifact Registry are supported now. + // Accepted forms: + // + // - Google Container Registry path. For example: + // `gcr.io/projectId/imageName:tag`. + // + // - Artifact Registry path. For example: + // `us-central1-docker.pkg.dev/projectId/repoName/imageName:tag`. + // + // If a tag is not specified, "latest" will be used as the default tag. + OutputUri string `protobuf:"bytes,1,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"` +} + +func (x *ContainerRegistryDestination) Reset() { + *x = ContainerRegistryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContainerRegistryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerRegistryDestination) ProtoMessage() {} + +func (x *ContainerRegistryDestination) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_io_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 ContainerRegistryDestination.ProtoReflect.Descriptor instead. +func (*ContainerRegistryDestination) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{8} +} + +func (x *ContainerRegistryDestination) GetOutputUri() string { + if x != nil { + return x.OutputUri + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_io_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x22, 0x5d, + 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0a, + 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x0a, + 0x09, 0x43, 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x67, 0x63, + 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x24, 0x0a, 0x09, 0x47, + 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x75, 0x72, 0x69, + 0x73, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, + 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x22, 0x32, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x39, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x55, 0x72, 0x69, 0x22, 0x70, 0x0a, 0x0e, 0x43, 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0x0a, 0x13, 0x54, 0x46, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0f, + 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, + 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x1c, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, + 0x42, 0xdf, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x49, 0x6f, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mockgcp_cloud_aiplatform_v1beta1_io_proto_goTypes = []interface{}{ + (*AvroSource)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.AvroSource + (*CsvSource)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CsvSource + (*GcsSource)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GcsSource + (*GcsDestination)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*BigQuerySource)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + (*BigQueryDestination)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + (*CsvDestination)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.CsvDestination + (*TFRecordDestination)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.TFRecordDestination + (*ContainerRegistryDestination)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ContainerRegistryDestination +} +var file_mockgcp_cloud_aiplatform_v1beta1_io_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.AvroSource.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.CsvSource.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.CsvDestination.gcs_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.TFRecordDestination.gcs_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_io_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AvroSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CsvSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CsvDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TFRecordDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContainerRegistryDestination); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_io_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_io_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_io_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_io_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.go new file mode 100644 index 0000000000..84d48c1c53 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.go @@ -0,0 +1,4847 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/job_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + empty "github.com/golang/protobuf/ptypes/empty" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [JobService.CreateCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateCustomJob]. +type CreateCustomJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the CustomJob in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The CustomJob to create. + CustomJob *CustomJob `protobuf:"bytes,2,opt,name=custom_job,json=customJob,proto3" json:"custom_job,omitempty"` +} + +func (x *CreateCustomJobRequest) Reset() { + *x = CreateCustomJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateCustomJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCustomJobRequest) ProtoMessage() {} + +func (x *CreateCustomJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[0] + 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 CreateCustomJobRequest.ProtoReflect.Descriptor instead. +func (*CreateCustomJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateCustomJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateCustomJobRequest) GetCustomJob() *CustomJob { + if x != nil { + return x.CustomJob + } + return nil +} + +// Request message for +// [JobService.GetCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetCustomJob]. +type GetCustomJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the CustomJob resource. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetCustomJobRequest) Reset() { + *x = GetCustomJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCustomJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCustomJobRequest) ProtoMessage() {} + +func (x *GetCustomJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[1] + 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 GetCustomJobRequest.ProtoReflect.Descriptor instead. +func (*GetCustomJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetCustomJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListCustomJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListCustomJobs]. +type ListCustomJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the CustomJobs from. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListCustomJobsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsResponse.next_page_token] + // of the previous + // [JobService.ListCustomJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListCustomJobs] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListCustomJobsRequest) Reset() { + *x = ListCustomJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCustomJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCustomJobsRequest) ProtoMessage() {} + +func (x *ListCustomJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_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 ListCustomJobsRequest.ProtoReflect.Descriptor instead. +func (*ListCustomJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListCustomJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListCustomJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListCustomJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListCustomJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListCustomJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [JobService.ListCustomJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListCustomJobs] +type ListCustomJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of CustomJobs in the requested page. + CustomJobs []*CustomJob `protobuf:"bytes,1,rep,name=custom_jobs,json=customJobs,proto3" json:"custom_jobs,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListCustomJobsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListCustomJobsResponse) Reset() { + *x = ListCustomJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCustomJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCustomJobsResponse) ProtoMessage() {} + +func (x *ListCustomJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[3] + 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 ListCustomJobsResponse.ProtoReflect.Descriptor instead. +func (*ListCustomJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListCustomJobsResponse) GetCustomJobs() []*CustomJob { + if x != nil { + return x.CustomJobs + } + return nil +} + +func (x *ListCustomJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.DeleteCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteCustomJob]. +type DeleteCustomJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the CustomJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteCustomJobRequest) Reset() { + *x = DeleteCustomJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteCustomJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCustomJobRequest) ProtoMessage() {} + +func (x *DeleteCustomJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[4] + 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 DeleteCustomJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteCustomJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteCustomJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CancelCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CancelCustomJob]. +type CancelCustomJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the CustomJob to cancel. + // Format: + // `projects/{project}/locations/{location}/customJobs/{custom_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelCustomJobRequest) Reset() { + *x = CancelCustomJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelCustomJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelCustomJobRequest) ProtoMessage() {} + +func (x *CancelCustomJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[5] + 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 CancelCustomJobRequest.ProtoReflect.Descriptor instead. +func (*CancelCustomJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{5} +} + +func (x *CancelCustomJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CreateDataLabelingJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateDataLabelingJob]. +type CreateDataLabelingJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent of the DataLabelingJob. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The DataLabelingJob to create. + DataLabelingJob *DataLabelingJob `protobuf:"bytes,2,opt,name=data_labeling_job,json=dataLabelingJob,proto3" json:"data_labeling_job,omitempty"` +} + +func (x *CreateDataLabelingJobRequest) Reset() { + *x = CreateDataLabelingJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDataLabelingJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDataLabelingJobRequest) ProtoMessage() {} + +func (x *CreateDataLabelingJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_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 CreateDataLabelingJobRequest.ProtoReflect.Descriptor instead. +func (*CreateDataLabelingJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateDataLabelingJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDataLabelingJobRequest) GetDataLabelingJob() *DataLabelingJob { + if x != nil { + return x.DataLabelingJob + } + return nil +} + +// Request message for +// [JobService.GetDataLabelingJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetDataLabelingJob]. +type GetDataLabelingJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DataLabelingJob. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetDataLabelingJobRequest) Reset() { + *x = GetDataLabelingJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDataLabelingJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDataLabelingJobRequest) ProtoMessage() {} + +func (x *GetDataLabelingJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[7] + 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 GetDataLabelingJobRequest.ProtoReflect.Descriptor instead. +func (*GetDataLabelingJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{7} +} + +func (x *GetDataLabelingJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListDataLabelingJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListDataLabelingJobs]. +type ListDataLabelingJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent of the DataLabelingJob. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. FieldMask represents a set of + // symbolic field paths. For example, the mask can be `paths: "name"`. The + // "name" here is a field in DataLabelingJob. + // If this field is not set, all fields of the DataLabelingJob are returned. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order by + // default. + // Use `desc` after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListDataLabelingJobsRequest) Reset() { + *x = ListDataLabelingJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDataLabelingJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDataLabelingJobsRequest) ProtoMessage() {} + +func (x *ListDataLabelingJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_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 ListDataLabelingJobsRequest.ProtoReflect.Descriptor instead. +func (*ListDataLabelingJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ListDataLabelingJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDataLabelingJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListDataLabelingJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDataLabelingJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListDataLabelingJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListDataLabelingJobsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [JobService.ListDataLabelingJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListDataLabelingJobs]. +type ListDataLabelingJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of DataLabelingJobs that matches the specified filter in the + // request. + DataLabelingJobs []*DataLabelingJob `protobuf:"bytes,1,rep,name=data_labeling_jobs,json=dataLabelingJobs,proto3" json:"data_labeling_jobs,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDataLabelingJobsResponse) Reset() { + *x = ListDataLabelingJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDataLabelingJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDataLabelingJobsResponse) ProtoMessage() {} + +func (x *ListDataLabelingJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[9] + 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 ListDataLabelingJobsResponse.ProtoReflect.Descriptor instead. +func (*ListDataLabelingJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListDataLabelingJobsResponse) GetDataLabelingJobs() []*DataLabelingJob { + if x != nil { + return x.DataLabelingJobs + } + return nil +} + +func (x *ListDataLabelingJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.DeleteDataLabelingJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteDataLabelingJob]. +type DeleteDataLabelingJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DataLabelingJob to be deleted. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteDataLabelingJobRequest) Reset() { + *x = DeleteDataLabelingJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDataLabelingJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDataLabelingJobRequest) ProtoMessage() {} + +func (x *DeleteDataLabelingJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[10] + 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 DeleteDataLabelingJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteDataLabelingJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{10} +} + +func (x *DeleteDataLabelingJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CancelDataLabelingJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CancelDataLabelingJob]. +type CancelDataLabelingJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the DataLabelingJob. + // Format: + // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelDataLabelingJobRequest) Reset() { + *x = CancelDataLabelingJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelDataLabelingJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelDataLabelingJobRequest) ProtoMessage() {} + +func (x *CancelDataLabelingJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[11] + 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 CancelDataLabelingJobRequest.ProtoReflect.Descriptor instead. +func (*CancelDataLabelingJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{11} +} + +func (x *CancelDataLabelingJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CreateHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateHyperparameterTuningJob]. +type CreateHyperparameterTuningJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // HyperparameterTuningJob in. Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The HyperparameterTuningJob to create. + HyperparameterTuningJob *HyperparameterTuningJob `protobuf:"bytes,2,opt,name=hyperparameter_tuning_job,json=hyperparameterTuningJob,proto3" json:"hyperparameter_tuning_job,omitempty"` +} + +func (x *CreateHyperparameterTuningJobRequest) Reset() { + *x = CreateHyperparameterTuningJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateHyperparameterTuningJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateHyperparameterTuningJobRequest) ProtoMessage() {} + +func (x *CreateHyperparameterTuningJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[12] + 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 CreateHyperparameterTuningJobRequest.ProtoReflect.Descriptor instead. +func (*CreateHyperparameterTuningJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{12} +} + +func (x *CreateHyperparameterTuningJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateHyperparameterTuningJobRequest) GetHyperparameterTuningJob() *HyperparameterTuningJob { + if x != nil { + return x.HyperparameterTuningJob + } + return nil +} + +// Request message for +// [JobService.GetHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob]. +type GetHyperparameterTuningJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the HyperparameterTuningJob resource. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetHyperparameterTuningJobRequest) Reset() { + *x = GetHyperparameterTuningJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHyperparameterTuningJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHyperparameterTuningJobRequest) ProtoMessage() {} + +func (x *GetHyperparameterTuningJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[13] + 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 GetHyperparameterTuningJobRequest.ProtoReflect.Descriptor instead. +func (*GetHyperparameterTuningJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{13} +} + +func (x *GetHyperparameterTuningJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListHyperparameterTuningJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs]. +type ListHyperparameterTuningJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the + // HyperparameterTuningJobs from. Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListHyperparameterTuningJobsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsResponse.next_page_token] + // of the previous + // [JobService.ListHyperparameterTuningJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListHyperparameterTuningJobsRequest) Reset() { + *x = ListHyperparameterTuningJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHyperparameterTuningJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHyperparameterTuningJobsRequest) ProtoMessage() {} + +func (x *ListHyperparameterTuningJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[14] + 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 ListHyperparameterTuningJobsRequest.ProtoReflect.Descriptor instead. +func (*ListHyperparameterTuningJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{14} +} + +func (x *ListHyperparameterTuningJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListHyperparameterTuningJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListHyperparameterTuningJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListHyperparameterTuningJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListHyperparameterTuningJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [JobService.ListHyperparameterTuningJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs] +type ListHyperparameterTuningJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of HyperparameterTuningJobs in the requested page. + // [HyperparameterTuningJob.trials][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trials] + // of the jobs will be not be returned. + HyperparameterTuningJobs []*HyperparameterTuningJob `protobuf:"bytes,1,rep,name=hyperparameter_tuning_jobs,json=hyperparameterTuningJobs,proto3" json:"hyperparameter_tuning_jobs,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListHyperparameterTuningJobsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListHyperparameterTuningJobsResponse) Reset() { + *x = ListHyperparameterTuningJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHyperparameterTuningJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHyperparameterTuningJobsResponse) ProtoMessage() {} + +func (x *ListHyperparameterTuningJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_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 ListHyperparameterTuningJobsResponse.ProtoReflect.Descriptor instead. +func (*ListHyperparameterTuningJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{15} +} + +func (x *ListHyperparameterTuningJobsResponse) GetHyperparameterTuningJobs() []*HyperparameterTuningJob { + if x != nil { + return x.HyperparameterTuningJobs + } + return nil +} + +func (x *ListHyperparameterTuningJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.DeleteHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteHyperparameterTuningJob]. +type DeleteHyperparameterTuningJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the HyperparameterTuningJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteHyperparameterTuningJobRequest) Reset() { + *x = DeleteHyperparameterTuningJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteHyperparameterTuningJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteHyperparameterTuningJobRequest) ProtoMessage() {} + +func (x *DeleteHyperparameterTuningJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[16] + 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 DeleteHyperparameterTuningJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteHyperparameterTuningJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{16} +} + +func (x *DeleteHyperparameterTuningJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CancelHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CancelHyperparameterTuningJob]. +type CancelHyperparameterTuningJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the HyperparameterTuningJob to cancel. + // Format: + // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelHyperparameterTuningJobRequest) Reset() { + *x = CancelHyperparameterTuningJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelHyperparameterTuningJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelHyperparameterTuningJobRequest) ProtoMessage() {} + +func (x *CancelHyperparameterTuningJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[17] + 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 CancelHyperparameterTuningJobRequest.ProtoReflect.Descriptor instead. +func (*CancelHyperparameterTuningJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{17} +} + +func (x *CancelHyperparameterTuningJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CreateNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateNasJob]. +type CreateNasJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the NasJob in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The NasJob to create. + NasJob *NasJob `protobuf:"bytes,2,opt,name=nas_job,json=nasJob,proto3" json:"nas_job,omitempty"` +} + +func (x *CreateNasJobRequest) Reset() { + *x = CreateNasJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNasJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNasJobRequest) ProtoMessage() {} + +func (x *CreateNasJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[18] + 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 CreateNasJobRequest.ProtoReflect.Descriptor instead. +func (*CreateNasJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{18} +} + +func (x *CreateNasJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNasJobRequest) GetNasJob() *NasJob { + if x != nil { + return x.NasJob + } + return nil +} + +// Request message for +// [JobService.GetNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasJob]. +type GetNasJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NasJob resource. + // Format: + // `projects/{project}/locations/{location}/nasJobs/{nas_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNasJobRequest) Reset() { + *x = GetNasJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNasJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNasJobRequest) ProtoMessage() {} + +func (x *GetNasJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[19] + 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 GetNasJobRequest.ProtoReflect.Descriptor instead. +func (*GetNasJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{19} +} + +func (x *GetNasJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListNasJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasJobs]. +type ListNasJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the NasJobs + // from. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListNasJobsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListNasJobsResponse.next_page_token] + // of the previous + // [JobService.ListNasJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasJobs] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListNasJobsRequest) Reset() { + *x = ListNasJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNasJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNasJobsRequest) ProtoMessage() {} + +func (x *ListNasJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[20] + 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 ListNasJobsRequest.ProtoReflect.Descriptor instead. +func (*ListNasJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{20} +} + +func (x *ListNasJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNasJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNasJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNasJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNasJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [JobService.ListNasJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasJobs] +type ListNasJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of NasJobs in the requested page. + // [NasJob.nas_job_output][mockgcp.cloud.aiplatform.v1beta1.NasJob.nas_job_output] + // of the jobs will not be returned. + NasJobs []*NasJob `protobuf:"bytes,1,rep,name=nas_jobs,json=nasJobs,proto3" json:"nas_jobs,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListNasJobsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListNasJobsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListNasJobsResponse) Reset() { + *x = ListNasJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNasJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNasJobsResponse) ProtoMessage() {} + +func (x *ListNasJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[21] + 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 ListNasJobsResponse.ProtoReflect.Descriptor instead. +func (*ListNasJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ListNasJobsResponse) GetNasJobs() []*NasJob { + if x != nil { + return x.NasJobs + } + return nil +} + +func (x *ListNasJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.DeleteNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteNasJob]. +type DeleteNasJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NasJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/nasJobs/{nas_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNasJobRequest) Reset() { + *x = DeleteNasJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNasJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNasJobRequest) ProtoMessage() {} + +func (x *DeleteNasJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[22] + 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 DeleteNasJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteNasJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{22} +} + +func (x *DeleteNasJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CancelNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CancelNasJob]. +type CancelNasJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NasJob to cancel. + // Format: + // `projects/{project}/locations/{location}/nasJobs/{nas_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelNasJobRequest) Reset() { + *x = CancelNasJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelNasJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelNasJobRequest) ProtoMessage() {} + +func (x *CancelNasJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[23] + 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 CancelNasJobRequest.ProtoReflect.Descriptor instead. +func (*CancelNasJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{23} +} + +func (x *CancelNasJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.GetNasTrialDetail][mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasTrialDetail]. +type GetNasTrialDetailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NasTrialDetail resource. + // Format: + // `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNasTrialDetailRequest) Reset() { + *x = GetNasTrialDetailRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNasTrialDetailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNasTrialDetailRequest) ProtoMessage() {} + +func (x *GetNasTrialDetailRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[24] + 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 GetNasTrialDetailRequest.ProtoReflect.Descriptor instead. +func (*GetNasTrialDetailRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{24} +} + +func (x *GetNasTrialDetailRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListNasTrialDetails][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails]. +type ListNasTrialDetailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NasJob resource. + // Format: + // `projects/{project}/locations/{location}/nasJobs/{nas_job}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListNasTrialDetailsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsResponse.next_page_token] + // of the previous + // [JobService.ListNasTrialDetails][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListNasTrialDetailsRequest) Reset() { + *x = ListNasTrialDetailsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNasTrialDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNasTrialDetailsRequest) ProtoMessage() {} + +func (x *ListNasTrialDetailsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[25] + 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 ListNasTrialDetailsRequest.ProtoReflect.Descriptor instead. +func (*ListNasTrialDetailsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{25} +} + +func (x *ListNasTrialDetailsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNasTrialDetailsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNasTrialDetailsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [JobService.ListNasTrialDetails][mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails] +type ListNasTrialDetailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of top NasTrials in the requested page. + NasTrialDetails []*NasTrialDetail `protobuf:"bytes,1,rep,name=nas_trial_details,json=nasTrialDetails,proto3" json:"nas_trial_details,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListNasTrialDetailsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListNasTrialDetailsResponse) Reset() { + *x = ListNasTrialDetailsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNasTrialDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNasTrialDetailsResponse) ProtoMessage() {} + +func (x *ListNasTrialDetailsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[26] + 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 ListNasTrialDetailsResponse.ProtoReflect.Descriptor instead. +func (*ListNasTrialDetailsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{26} +} + +func (x *ListNasTrialDetailsResponse) GetNasTrialDetails() []*NasTrialDetail { + if x != nil { + return x.NasTrialDetails + } + return nil +} + +func (x *ListNasTrialDetailsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.CreateBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateBatchPredictionJob]. +type CreateBatchPredictionJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // BatchPredictionJob in. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The BatchPredictionJob to create. + BatchPredictionJob *BatchPredictionJob `protobuf:"bytes,2,opt,name=batch_prediction_job,json=batchPredictionJob,proto3" json:"batch_prediction_job,omitempty"` +} + +func (x *CreateBatchPredictionJobRequest) Reset() { + *x = CreateBatchPredictionJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateBatchPredictionJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateBatchPredictionJobRequest) ProtoMessage() {} + +func (x *CreateBatchPredictionJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[27] + 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 CreateBatchPredictionJobRequest.ProtoReflect.Descriptor instead. +func (*CreateBatchPredictionJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{27} +} + +func (x *CreateBatchPredictionJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateBatchPredictionJobRequest) GetBatchPredictionJob() *BatchPredictionJob { + if x != nil { + return x.BatchPredictionJob + } + return nil +} + +// Request message for +// [JobService.GetBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob]. +type GetBatchPredictionJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the BatchPredictionJob resource. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetBatchPredictionJobRequest) Reset() { + *x = GetBatchPredictionJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBatchPredictionJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBatchPredictionJobRequest) ProtoMessage() {} + +func (x *GetBatchPredictionJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[28] + 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 GetBatchPredictionJobRequest.ProtoReflect.Descriptor instead. +func (*GetBatchPredictionJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{28} +} + +func (x *GetBatchPredictionJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListBatchPredictionJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs]. +type ListBatchPredictionJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the BatchPredictionJobs + // from. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `model_display_name` supports `=`, `!=` comparisons. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListBatchPredictionJobsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsResponse.next_page_token] + // of the previous + // [JobService.ListBatchPredictionJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListBatchPredictionJobsRequest) Reset() { + *x = ListBatchPredictionJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBatchPredictionJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBatchPredictionJobsRequest) ProtoMessage() {} + +func (x *ListBatchPredictionJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[29] + 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 ListBatchPredictionJobsRequest.ProtoReflect.Descriptor instead. +func (*ListBatchPredictionJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{29} +} + +func (x *ListBatchPredictionJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListBatchPredictionJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListBatchPredictionJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListBatchPredictionJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListBatchPredictionJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [JobService.ListBatchPredictionJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs] +type ListBatchPredictionJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of BatchPredictionJobs in the requested page. + BatchPredictionJobs []*BatchPredictionJob `protobuf:"bytes,1,rep,name=batch_prediction_jobs,json=batchPredictionJobs,proto3" json:"batch_prediction_jobs,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListBatchPredictionJobsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListBatchPredictionJobsResponse) Reset() { + *x = ListBatchPredictionJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBatchPredictionJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBatchPredictionJobsResponse) ProtoMessage() {} + +func (x *ListBatchPredictionJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[30] + 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 ListBatchPredictionJobsResponse.ProtoReflect.Descriptor instead. +func (*ListBatchPredictionJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListBatchPredictionJobsResponse) GetBatchPredictionJobs() []*BatchPredictionJob { + if x != nil { + return x.BatchPredictionJobs + } + return nil +} + +func (x *ListBatchPredictionJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.DeleteBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteBatchPredictionJob]. +type DeleteBatchPredictionJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the BatchPredictionJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteBatchPredictionJobRequest) Reset() { + *x = DeleteBatchPredictionJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBatchPredictionJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBatchPredictionJobRequest) ProtoMessage() {} + +func (x *DeleteBatchPredictionJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[31] + 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 DeleteBatchPredictionJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteBatchPredictionJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{31} +} + +func (x *DeleteBatchPredictionJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CancelBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CancelBatchPredictionJob]. +type CancelBatchPredictionJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the BatchPredictionJob to cancel. + // Format: + // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelBatchPredictionJobRequest) Reset() { + *x = CancelBatchPredictionJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelBatchPredictionJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelBatchPredictionJobRequest) ProtoMessage() {} + +func (x *CancelBatchPredictionJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[32] + 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 CancelBatchPredictionJobRequest.ProtoReflect.Descriptor instead. +func (*CancelBatchPredictionJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{32} +} + +func (x *CancelBatchPredictionJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.CreateModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.CreateModelDeploymentMonitoringJob]. +type CreateModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent of the ModelDeploymentMonitoringJob. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The ModelDeploymentMonitoringJob to create + ModelDeploymentMonitoringJob *ModelDeploymentMonitoringJob `protobuf:"bytes,2,opt,name=model_deployment_monitoring_job,json=modelDeploymentMonitoringJob,proto3" json:"model_deployment_monitoring_job,omitempty"` +} + +func (x *CreateModelDeploymentMonitoringJobRequest) Reset() { + *x = CreateModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *CreateModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[33] + 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 CreateModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*CreateModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{33} +} + +func (x *CreateModelDeploymentMonitoringJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateModelDeploymentMonitoringJobRequest) GetModelDeploymentMonitoringJob() *ModelDeploymentMonitoringJob { + if x != nil { + return x.ModelDeploymentMonitoringJob + } + return nil +} + +// Request message for +// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. +type SearchModelDeploymentMonitoringStatsAnomaliesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. ModelDeploymentMonitoring Job resource name. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + ModelDeploymentMonitoringJob string `protobuf:"bytes,1,opt,name=model_deployment_monitoring_job,json=modelDeploymentMonitoringJob,proto3" json:"model_deployment_monitoring_job,omitempty"` + // Required. The DeployedModel ID of the + // [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id]. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // The feature display name. If specified, only return the stats belonging to + // this feature. Format: + // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name][mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name], + // example: "user_destination". + FeatureDisplayName string `protobuf:"bytes,3,opt,name=feature_display_name,json=featureDisplayName,proto3" json:"feature_display_name,omitempty"` + // Required. Objectives of the stats to retrieve. + Objectives []*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective `protobuf:"bytes,4,rep,name=objectives,proto3" json:"objectives,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token received from a previous + // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] + // call. + PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // The earliest timestamp of stats being generated. + // If not set, indicates fetching stats till the earliest possible one. + StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // The latest timestamp of stats being generated. + // If not set, indicates feching stats till the latest possible one. + EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) Reset() { + *x = SearchModelDeploymentMonitoringStatsAnomaliesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchModelDeploymentMonitoringStatsAnomaliesRequest) ProtoMessage() {} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[34] + 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 SearchModelDeploymentMonitoringStatsAnomaliesRequest.ProtoReflect.Descriptor instead. +func (*SearchModelDeploymentMonitoringStatsAnomaliesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{34} +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetModelDeploymentMonitoringJob() string { + if x != nil { + return x.ModelDeploymentMonitoringJob + } + return "" +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetFeatureDisplayName() string { + if x != nil { + return x.FeatureDisplayName + } + return "" +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetObjectives() []*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective { + if x != nil { + return x.Objectives + } + return nil +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +// Response message for +// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. +type SearchModelDeploymentMonitoringStatsAnomaliesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Stats retrieved for requested objectives. + // There are at most 1000 + // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats][mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats] + // in the response. + MonitoringStats []*ModelMonitoringStatsAnomalies `protobuf:"bytes,1,rep,name=monitoring_stats,json=monitoringStats,proto3" json:"monitoring_stats,omitempty"` + // The page token that can be used by the next + // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] + // call. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesResponse) Reset() { + *x = SearchModelDeploymentMonitoringStatsAnomaliesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchModelDeploymentMonitoringStatsAnomaliesResponse) ProtoMessage() {} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[35] + 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 SearchModelDeploymentMonitoringStatsAnomaliesResponse.ProtoReflect.Descriptor instead. +func (*SearchModelDeploymentMonitoringStatsAnomaliesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{35} +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesResponse) GetMonitoringStats() []*ModelMonitoringStatsAnomalies { + if x != nil { + return x.MonitoringStats + } + return nil +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.GetModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetModelDeploymentMonitoringJob]. +type GetModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the ModelDeploymentMonitoringJob. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetModelDeploymentMonitoringJobRequest) Reset() { + *x = GetModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *GetModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[36] + 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 GetModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*GetModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{36} +} + +func (x *GetModelDeploymentMonitoringJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ListModelDeploymentMonitoringJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListModelDeploymentMonitoringJobs]. +type ListModelDeploymentMonitoringJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent of the ModelDeploymentMonitoringJob. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` + // - `state!="JOB_STATE_FAILED" OR display_name="my_job"` + // - `NOT display_name="my_job"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `labels.keyA=valueA` + // - `labels.keyB:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListModelDeploymentMonitoringJobsRequest) Reset() { + *x = ListModelDeploymentMonitoringJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelDeploymentMonitoringJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelDeploymentMonitoringJobsRequest) ProtoMessage() {} + +func (x *ListModelDeploymentMonitoringJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[37] + 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 ListModelDeploymentMonitoringJobsRequest.ProtoReflect.Descriptor instead. +func (*ListModelDeploymentMonitoringJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{37} +} + +func (x *ListModelDeploymentMonitoringJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListModelDeploymentMonitoringJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListModelDeploymentMonitoringJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListModelDeploymentMonitoringJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListModelDeploymentMonitoringJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [JobService.ListModelDeploymentMonitoringJobs][mockgcp.cloud.aiplatform.v1beta1.JobService.ListModelDeploymentMonitoringJobs]. +type ListModelDeploymentMonitoringJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of ModelDeploymentMonitoringJobs that matches the specified filter + // in the request. + ModelDeploymentMonitoringJobs []*ModelDeploymentMonitoringJob `protobuf:"bytes,1,rep,name=model_deployment_monitoring_jobs,json=modelDeploymentMonitoringJobs,proto3" json:"model_deployment_monitoring_jobs,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListModelDeploymentMonitoringJobsResponse) Reset() { + *x = ListModelDeploymentMonitoringJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelDeploymentMonitoringJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelDeploymentMonitoringJobsResponse) ProtoMessage() {} + +func (x *ListModelDeploymentMonitoringJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[38] + 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 ListModelDeploymentMonitoringJobsResponse.ProtoReflect.Descriptor instead. +func (*ListModelDeploymentMonitoringJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{38} +} + +func (x *ListModelDeploymentMonitoringJobsResponse) GetModelDeploymentMonitoringJobs() []*ModelDeploymentMonitoringJob { + if x != nil { + return x.ModelDeploymentMonitoringJobs + } + return nil +} + +func (x *ListModelDeploymentMonitoringJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [JobService.UpdateModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.UpdateModelDeploymentMonitoringJob]. +type UpdateModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The model monitoring configuration which replaces the resource on + // the server. + ModelDeploymentMonitoringJob *ModelDeploymentMonitoringJob `protobuf:"bytes,1,opt,name=model_deployment_monitoring_job,json=modelDeploymentMonitoringJob,proto3" json:"model_deployment_monitoring_job,omitempty"` + // Required. The update mask is used to specify the fields to be overwritten + // in the ModelDeploymentMonitoringJob resource by the update. The fields + // specified in the update_mask are relative to the resource, not the full + // request. A field will be overwritten if it is in the mask. If the user does + // not provide a mask then only the non-empty fields present in the request + // will be overwritten. Set the update_mask to `*` to override all fields. For + // the objective config, the user can either provide the update mask for + // model_deployment_monitoring_objective_configs or any combination of its + // nested fields, such as: + // model_deployment_monitoring_objective_configs.objective_config.training_dataset. + // + // Updatable fields: + // + // - `display_name` + // - `model_deployment_monitoring_schedule_config` + // - `model_monitoring_alert_config` + // - `logging_sampling_strategy` + // - `labels` + // - `log_ttl` + // - `enable_monitoring_pipeline_logs` + // + // . and + // - `model_deployment_monitoring_objective_configs` + // + // . or + // - `model_deployment_monitoring_objective_configs.objective_config.training_dataset` + // - `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` + // - `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateModelDeploymentMonitoringJobRequest) Reset() { + *x = UpdateModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *UpdateModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[39] + 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 UpdateModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*UpdateModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{39} +} + +func (x *UpdateModelDeploymentMonitoringJobRequest) GetModelDeploymentMonitoringJob() *ModelDeploymentMonitoringJob { + if x != nil { + return x.ModelDeploymentMonitoringJob + } + return nil +} + +func (x *UpdateModelDeploymentMonitoringJobRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [JobService.DeleteModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteModelDeploymentMonitoringJob]. +type DeleteModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the model monitoring job to delete. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteModelDeploymentMonitoringJobRequest) Reset() { + *x = DeleteModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *DeleteModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[40] + 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 DeleteModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*DeleteModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{40} +} + +func (x *DeleteModelDeploymentMonitoringJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.PauseModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.PauseModelDeploymentMonitoringJob]. +type PauseModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the ModelDeploymentMonitoringJob to pause. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *PauseModelDeploymentMonitoringJobRequest) Reset() { + *x = PauseModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PauseModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *PauseModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[41] + 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 PauseModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*PauseModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{41} +} + +func (x *PauseModelDeploymentMonitoringJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [JobService.ResumeModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.ResumeModelDeploymentMonitoringJob]. +type ResumeModelDeploymentMonitoringJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the ModelDeploymentMonitoringJob to resume. + // Format: + // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ResumeModelDeploymentMonitoringJobRequest) Reset() { + *x = ResumeModelDeploymentMonitoringJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResumeModelDeploymentMonitoringJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResumeModelDeploymentMonitoringJobRequest) ProtoMessage() {} + +func (x *ResumeModelDeploymentMonitoringJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[42] + 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 ResumeModelDeploymentMonitoringJobRequest.ProtoReflect.Descriptor instead. +func (*ResumeModelDeploymentMonitoringJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{42} +} + +func (x *ResumeModelDeploymentMonitoringJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Runtime operation information for +// [JobService.UpdateModelDeploymentMonitoringJob][mockgcp.cloud.aiplatform.v1beta1.JobService.UpdateModelDeploymentMonitoringJob]. +type UpdateModelDeploymentMonitoringJobOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateModelDeploymentMonitoringJobOperationMetadata) Reset() { + *x = UpdateModelDeploymentMonitoringJobOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateModelDeploymentMonitoringJobOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateModelDeploymentMonitoringJobOperationMetadata) ProtoMessage() {} + +func (x *UpdateModelDeploymentMonitoringJobOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[43] + 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 UpdateModelDeploymentMonitoringJobOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateModelDeploymentMonitoringJobOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{43} +} + +func (x *UpdateModelDeploymentMonitoringJobOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Stats requested for specific objective. +type SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type ModelDeploymentMonitoringObjectiveType `protobuf:"varint,1,opt,name=type,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType" json:"type,omitempty"` + // If set, all attribution scores between + // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time][mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time] + // and + // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time][mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time] + // are fetched, and page token doesn't take effect in this case. Only used + // to retrieve attribution score for the top Features which has the highest + // attribution score in the latest monitoring run. + TopFeatureCount int32 `protobuf:"varint,4,opt,name=top_feature_count,json=topFeatureCount,proto3" json:"top_feature_count,omitempty"` +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) Reset() { + *x = SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) ProtoMessage() {} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[44] + 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 SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective.ProtoReflect.Descriptor instead. +func (*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP(), []int{34, 0} +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) GetType() ModelDeploymentMonitoringObjectiveType { + if x != nil { + return x.Type + } + return ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED +} + +func (x *SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective) GetTopFeatureCount() int32 { + if x != nil { + return x.TopFeatureCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_job_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 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, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8e, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4c, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, + 0x6f, 0x62, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 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, 0x59, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x59, 0x0a, 0x16, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc5, 0x01, 0x0a, + 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x62, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x62, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x22, 0xa7, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 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, 0x65, 0x0a, + 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x61, + 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x24, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x19, 0x68, 0x79, 0x70, 0x65, 0x72, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x79, + 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x68, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x22, 0x72, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, + 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0xc7, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1a, 0x68, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x18, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 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, 0x75, 0x0a, 0x24, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x75, 0x0a, 0x24, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x07, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x22, 0x50, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe4, 0x01, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x82, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x4a, + 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6e, + 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x6e, 0x61, 0x73, 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, 0x53, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, + 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, + 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x6e, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0f, + 0x6e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0xd1, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6b, + 0x0a, 0x14, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x22, 0x68, 0x0a, 0x1c, 0x47, + 0x65, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x15, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, + 0x62, 0x52, 0x13, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x6b, + 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x1f, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x29, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x8b, 0x06, 0x0a, 0x34, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, + 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x85, 0x01, 0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x38, 0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0a, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x6e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, + 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0xa3, + 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, + 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x5c, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x70, 0x5f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x35, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, + 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, + 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 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, 0x7c, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x38, 0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xfa, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdd, 0x01, + 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x20, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 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, 0xfa, 0x01, + 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x1f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7f, 0x0a, 0x29, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x28, 0x50, + 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7f, 0x0a, 0x29, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x38, 0x0a, 0x36, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, + 0x33, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xf0, 0x43, 0x0a, 0x0a, + 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd5, 0x01, 0x0a, 0x0f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x38, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x22, 0x33, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, + 0x62, 0x73, 0x3a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, + 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, + 0x6f, 0x62, 0x12, 0xb6, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, + 0x33, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, + 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc9, 0x01, 0x0a, 0x0e, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xe1, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x38, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 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, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x2a, 0x33, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb1, 0x01, 0x0a, 0x0f, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, + 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, + 0x6f, 0x62, 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, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xfb, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x6f, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x3a, + 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, + 0x6f, 0x62, 0xda, 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xce, 0x01, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe1, + 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0xf3, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x3e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, + 0x6e, 0x67, 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, 0x7b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc3, 0x01, 0x0a, 0x15, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 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, 0x52, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xac, + 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x12, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x41, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x3a, + 0x19, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x20, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xee, 0x01, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x43, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x50, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x81, + 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, + 0x45, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, + 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, + 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x8c, 0x02, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x79, 0x70, + 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x79, + 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, + 0x6e, 0x67, 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, 0x83, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x43, 0x2a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xdb, 0x01, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x79, 0x70, 0x65, + 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x12, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x79, 0x70, + 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 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, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x48, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x68, 0x79, 0x70, 0x65, 0x72, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xc3, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, + 0x62, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x07, 0x6e, 0x61, 0x73, + 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x61, + 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xaa, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x73, + 0x4a, 0x6f, 0x62, 0x12, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, + 0x62, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0xbd, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x4a, 0x6f, + 0x62, 0x73, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0xd8, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x73, + 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x61, 0x73, + 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, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, + 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa8, 0x01, + 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x12, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 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, 0x49, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x61, 0x73, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, + 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd4, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, + 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x51, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x61, 0x73, 0x4a, + 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xe7, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x73, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x6e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x8d, 0x02, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x22, + 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x14, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x1b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xda, 0x01, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xed, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, + 0x62, 0x73, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, + 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xcc, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 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, 0x55, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcc, 0x02, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x98, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x69, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x26, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x6a, 0x6f, 0x62, 0x12, 0xb3, 0x03, 0x0a, 0x2d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, + 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, + 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x57, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x01, + 0x22, 0x8f, 0x01, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, + 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x31, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x12, 0x82, 0x02, 0x0a, 0x1f, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x48, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, + 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x95, + 0x02, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa7, 0x03, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 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, 0x94, 0x02, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x89, 0x01, 0x32, 0x66, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x1f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x2b, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x62, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x53, 0x0a, 0x1c, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x33, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x9b, 0x02, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 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, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe7, + 0x01, 0x0a, 0x21, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 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, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, + 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x3a, 0x01, + 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xea, 0x01, 0x0a, 0x22, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, + 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 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, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x4d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x86, 0x01, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x67, 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, 0x2c, 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, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0xe7, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0f, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes = make([]protoimpl.MessageInfo, 45) +var file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_goTypes = []interface{}{ + (*CreateCustomJobRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateCustomJobRequest + (*GetCustomJobRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetCustomJobRequest + (*ListCustomJobsRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsRequest + (*ListCustomJobsResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsResponse + (*DeleteCustomJobRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.DeleteCustomJobRequest + (*CancelCustomJobRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.CancelCustomJobRequest + (*CreateDataLabelingJobRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.CreateDataLabelingJobRequest + (*GetDataLabelingJobRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.GetDataLabelingJobRequest + (*ListDataLabelingJobsRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsRequest + (*ListDataLabelingJobsResponse)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsResponse + (*DeleteDataLabelingJobRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.DeleteDataLabelingJobRequest + (*CancelDataLabelingJobRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.CancelDataLabelingJobRequest + (*CreateHyperparameterTuningJobRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.CreateHyperparameterTuningJobRequest + (*GetHyperparameterTuningJobRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.GetHyperparameterTuningJobRequest + (*ListHyperparameterTuningJobsRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsRequest + (*ListHyperparameterTuningJobsResponse)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsResponse + (*DeleteHyperparameterTuningJobRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.DeleteHyperparameterTuningJobRequest + (*CancelHyperparameterTuningJobRequest)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.CancelHyperparameterTuningJobRequest + (*CreateNasJobRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.CreateNasJobRequest + (*GetNasJobRequest)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.GetNasJobRequest + (*ListNasJobsRequest)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.ListNasJobsRequest + (*ListNasJobsResponse)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ListNasJobsResponse + (*DeleteNasJobRequest)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.DeleteNasJobRequest + (*CancelNasJobRequest)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.CancelNasJobRequest + (*GetNasTrialDetailRequest)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.GetNasTrialDetailRequest + (*ListNasTrialDetailsRequest)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsRequest + (*ListNasTrialDetailsResponse)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsResponse + (*CreateBatchPredictionJobRequest)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.CreateBatchPredictionJobRequest + (*GetBatchPredictionJobRequest)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.GetBatchPredictionJobRequest + (*ListBatchPredictionJobsRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsRequest + (*ListBatchPredictionJobsResponse)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsResponse + (*DeleteBatchPredictionJobRequest)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.DeleteBatchPredictionJobRequest + (*CancelBatchPredictionJobRequest)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.CancelBatchPredictionJobRequest + (*CreateModelDeploymentMonitoringJobRequest)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.CreateModelDeploymentMonitoringJobRequest + (*SearchModelDeploymentMonitoringStatsAnomaliesRequest)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest + (*SearchModelDeploymentMonitoringStatsAnomaliesResponse)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesResponse + (*GetModelDeploymentMonitoringJobRequest)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.GetModelDeploymentMonitoringJobRequest + (*ListModelDeploymentMonitoringJobsRequest)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsRequest + (*ListModelDeploymentMonitoringJobsResponse)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsResponse + (*UpdateModelDeploymentMonitoringJobRequest)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobRequest + (*DeleteModelDeploymentMonitoringJobRequest)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.DeleteModelDeploymentMonitoringJobRequest + (*PauseModelDeploymentMonitoringJobRequest)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.PauseModelDeploymentMonitoringJobRequest + (*ResumeModelDeploymentMonitoringJobRequest)(nil), // 42: mockgcp.cloud.aiplatform.v1beta1.ResumeModelDeploymentMonitoringJobRequest + (*UpdateModelDeploymentMonitoringJobOperationMetadata)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobOperationMetadata + (*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective)(nil), // 44: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.StatsAnomaliesObjective + (*CustomJob)(nil), // 45: mockgcp.cloud.aiplatform.v1beta1.CustomJob + (*field_mask.FieldMask)(nil), // 46: google.protobuf.FieldMask + (*DataLabelingJob)(nil), // 47: mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + (*HyperparameterTuningJob)(nil), // 48: mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + (*NasJob)(nil), // 49: mockgcp.cloud.aiplatform.v1beta1.NasJob + (*NasTrialDetail)(nil), // 50: mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail + (*BatchPredictionJob)(nil), // 51: mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + (*ModelDeploymentMonitoringJob)(nil), // 52: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + (*timestamp.Timestamp)(nil), // 53: google.protobuf.Timestamp + (*ModelMonitoringStatsAnomalies)(nil), // 54: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies + (*GenericOperationMetadata)(nil), // 55: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (ModelDeploymentMonitoringObjectiveType)(0), // 56: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType + (*longrunningpb.Operation)(nil), // 57: google.longrunning.Operation + (*empty.Empty)(nil), // 58: google.protobuf.Empty +} +var file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_depIdxs = []int32{ + 45, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateCustomJobRequest.custom_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJob + 46, // 1: mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 45, // 2: mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsResponse.custom_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJob + 47, // 3: mockgcp.cloud.aiplatform.v1beta1.CreateDataLabelingJobRequest.data_labeling_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + 46, // 4: mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 47, // 5: mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsResponse.data_labeling_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + 48, // 6: mockgcp.cloud.aiplatform.v1beta1.CreateHyperparameterTuningJobRequest.hyperparameter_tuning_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + 46, // 7: mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 48, // 8: mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsResponse.hyperparameter_tuning_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + 49, // 9: mockgcp.cloud.aiplatform.v1beta1.CreateNasJobRequest.nas_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJob + 46, // 10: mockgcp.cloud.aiplatform.v1beta1.ListNasJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 49, // 11: mockgcp.cloud.aiplatform.v1beta1.ListNasJobsResponse.nas_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJob + 50, // 12: mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsResponse.nas_trial_details:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail + 51, // 13: mockgcp.cloud.aiplatform.v1beta1.CreateBatchPredictionJobRequest.batch_prediction_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + 46, // 14: mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 51, // 15: mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsResponse.batch_prediction_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + 52, // 16: mockgcp.cloud.aiplatform.v1beta1.CreateModelDeploymentMonitoringJobRequest.model_deployment_monitoring_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + 44, // 17: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.objectives:type_name -> mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.StatsAnomaliesObjective + 53, // 18: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time:type_name -> google.protobuf.Timestamp + 53, // 19: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time:type_name -> google.protobuf.Timestamp + 54, // 20: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesResponse.monitoring_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies + 46, // 21: mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 52, // 22: mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsResponse.model_deployment_monitoring_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + 52, // 23: mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobRequest.model_deployment_monitoring_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + 46, // 24: mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobRequest.update_mask:type_name -> google.protobuf.FieldMask + 55, // 25: mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 56, // 26: mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.StatsAnomaliesObjective.type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType + 0, // 27: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateCustomJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateCustomJobRequest + 1, // 28: mockgcp.cloud.aiplatform.v1beta1.JobService.GetCustomJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetCustomJobRequest + 2, // 29: mockgcp.cloud.aiplatform.v1beta1.JobService.ListCustomJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsRequest + 4, // 30: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteCustomJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteCustomJobRequest + 5, // 31: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelCustomJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelCustomJobRequest + 6, // 32: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateDataLabelingJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateDataLabelingJobRequest + 7, // 33: mockgcp.cloud.aiplatform.v1beta1.JobService.GetDataLabelingJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetDataLabelingJobRequest + 8, // 34: mockgcp.cloud.aiplatform.v1beta1.JobService.ListDataLabelingJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsRequest + 10, // 35: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteDataLabelingJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteDataLabelingJobRequest + 11, // 36: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelDataLabelingJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelDataLabelingJobRequest + 12, // 37: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateHyperparameterTuningJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateHyperparameterTuningJobRequest + 13, // 38: mockgcp.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetHyperparameterTuningJobRequest + 14, // 39: mockgcp.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsRequest + 16, // 40: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteHyperparameterTuningJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteHyperparameterTuningJobRequest + 17, // 41: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelHyperparameterTuningJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelHyperparameterTuningJobRequest + 18, // 42: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateNasJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateNasJobRequest + 19, // 43: mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetNasJobRequest + 20, // 44: mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListNasJobsRequest + 22, // 45: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteNasJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteNasJobRequest + 23, // 46: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelNasJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelNasJobRequest + 24, // 47: mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasTrialDetail:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetNasTrialDetailRequest + 25, // 48: mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsRequest + 27, // 49: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateBatchPredictionJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateBatchPredictionJobRequest + 28, // 50: mockgcp.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetBatchPredictionJobRequest + 29, // 51: mockgcp.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsRequest + 31, // 52: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteBatchPredictionJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteBatchPredictionJobRequest + 32, // 53: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelBatchPredictionJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelBatchPredictionJobRequest + 33, // 54: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateModelDeploymentMonitoringJobRequest + 34, // 55: mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies:input_type -> mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesRequest + 36, // 56: mockgcp.cloud.aiplatform.v1beta1.JobService.GetModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetModelDeploymentMonitoringJobRequest + 37, // 57: mockgcp.cloud.aiplatform.v1beta1.JobService.ListModelDeploymentMonitoringJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsRequest + 39, // 58: mockgcp.cloud.aiplatform.v1beta1.JobService.UpdateModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateModelDeploymentMonitoringJobRequest + 40, // 59: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteModelDeploymentMonitoringJobRequest + 41, // 60: mockgcp.cloud.aiplatform.v1beta1.JobService.PauseModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.PauseModelDeploymentMonitoringJobRequest + 42, // 61: mockgcp.cloud.aiplatform.v1beta1.JobService.ResumeModelDeploymentMonitoringJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.ResumeModelDeploymentMonitoringJobRequest + 45, // 62: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateCustomJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.CustomJob + 45, // 63: mockgcp.cloud.aiplatform.v1beta1.JobService.GetCustomJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.CustomJob + 3, // 64: mockgcp.cloud.aiplatform.v1beta1.JobService.ListCustomJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListCustomJobsResponse + 57, // 65: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteCustomJob:output_type -> google.longrunning.Operation + 58, // 66: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelCustomJob:output_type -> google.protobuf.Empty + 47, // 67: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateDataLabelingJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + 47, // 68: mockgcp.cloud.aiplatform.v1beta1.JobService.GetDataLabelingJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.DataLabelingJob + 9, // 69: mockgcp.cloud.aiplatform.v1beta1.JobService.ListDataLabelingJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListDataLabelingJobsResponse + 57, // 70: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteDataLabelingJob:output_type -> google.longrunning.Operation + 58, // 71: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelDataLabelingJob:output_type -> google.protobuf.Empty + 48, // 72: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateHyperparameterTuningJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + 48, // 73: mockgcp.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob + 15, // 74: mockgcp.cloud.aiplatform.v1beta1.JobService.ListHyperparameterTuningJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsResponse + 57, // 75: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteHyperparameterTuningJob:output_type -> google.longrunning.Operation + 58, // 76: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelHyperparameterTuningJob:output_type -> google.protobuf.Empty + 49, // 77: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateNasJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.NasJob + 49, // 78: mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.NasJob + 21, // 79: mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListNasJobsResponse + 57, // 80: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteNasJob:output_type -> google.longrunning.Operation + 58, // 81: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelNasJob:output_type -> google.protobuf.Empty + 50, // 82: mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasTrialDetail:output_type -> mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail + 26, // 83: mockgcp.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListNasTrialDetailsResponse + 51, // 84: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateBatchPredictionJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + 51, // 85: mockgcp.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob + 30, // 86: mockgcp.cloud.aiplatform.v1beta1.JobService.ListBatchPredictionJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListBatchPredictionJobsResponse + 57, // 87: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteBatchPredictionJob:output_type -> google.longrunning.Operation + 58, // 88: mockgcp.cloud.aiplatform.v1beta1.JobService.CancelBatchPredictionJob:output_type -> google.protobuf.Empty + 52, // 89: mockgcp.cloud.aiplatform.v1beta1.JobService.CreateModelDeploymentMonitoringJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + 35, // 90: mockgcp.cloud.aiplatform.v1beta1.JobService.SearchModelDeploymentMonitoringStatsAnomalies:output_type -> mockgcp.cloud.aiplatform.v1beta1.SearchModelDeploymentMonitoringStatsAnomaliesResponse + 52, // 91: mockgcp.cloud.aiplatform.v1beta1.JobService.GetModelDeploymentMonitoringJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + 38, // 92: mockgcp.cloud.aiplatform.v1beta1.JobService.ListModelDeploymentMonitoringJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelDeploymentMonitoringJobsResponse + 57, // 93: mockgcp.cloud.aiplatform.v1beta1.JobService.UpdateModelDeploymentMonitoringJob:output_type -> google.longrunning.Operation + 57, // 94: mockgcp.cloud.aiplatform.v1beta1.JobService.DeleteModelDeploymentMonitoringJob:output_type -> google.longrunning.Operation + 58, // 95: mockgcp.cloud.aiplatform.v1beta1.JobService.PauseModelDeploymentMonitoringJob:output_type -> google.protobuf.Empty + 58, // 96: mockgcp.cloud.aiplatform.v1beta1.JobService.ResumeModelDeploymentMonitoringJob:output_type -> google.protobuf.Empty + 62, // [62:97] is the sub-list for method output_type + 27, // [27:62] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_job_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_batch_prediction_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_data_labeling_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_hyperparameter_tuning_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateCustomJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCustomJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCustomJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCustomJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteCustomJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelCustomJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDataLabelingJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDataLabelingJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataLabelingJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataLabelingJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDataLabelingJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelDataLabelingJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateHyperparameterTuningJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetHyperparameterTuningJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHyperparameterTuningJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHyperparameterTuningJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteHyperparameterTuningJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelHyperparameterTuningJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNasJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNasJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNasJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNasJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNasJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelNasJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNasTrialDetailRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNasTrialDetailsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNasTrialDetailsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateBatchPredictionJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBatchPredictionJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBatchPredictionJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBatchPredictionJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBatchPredictionJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelBatchPredictionJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchModelDeploymentMonitoringStatsAnomaliesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchModelDeploymentMonitoringStatsAnomaliesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelDeploymentMonitoringJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelDeploymentMonitoringJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PauseModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResumeModelDeploymentMonitoringJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateModelDeploymentMonitoringJobOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchModelDeploymentMonitoringStatsAnomaliesRequest_StatsAnomaliesObjective); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 45, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_job_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_job_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.gw.go new file mode 100644 index 0000000000..b6b41843c0 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service.pb.gw.go @@ -0,0 +1,4089 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/job_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_JobService_CreateCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateCustomJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.CustomJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateCustomJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateCustomJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.CustomJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateCustomJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCustomJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetCustomJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCustomJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetCustomJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListCustomJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListCustomJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListCustomJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListCustomJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListCustomJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListCustomJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListCustomJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListCustomJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListCustomJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteCustomJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteCustomJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteCustomJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteCustomJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CancelCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelCustomJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelCustomJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CancelCustomJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelCustomJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelCustomJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CreateDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDataLabelingJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DataLabelingJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateDataLabelingJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateDataLabelingJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.DataLabelingJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateDataLabelingJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataLabelingJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetDataLabelingJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetDataLabelingJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetDataLabelingJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListDataLabelingJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListDataLabelingJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDataLabelingJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListDataLabelingJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListDataLabelingJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListDataLabelingJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListDataLabelingJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListDataLabelingJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListDataLabelingJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDataLabelingJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteDataLabelingJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteDataLabelingJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteDataLabelingJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CancelDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelDataLabelingJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelDataLabelingJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CancelDataLabelingJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelDataLabelingJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelDataLabelingJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CreateHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.HyperparameterTuningJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateHyperparameterTuningJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.HyperparameterTuningJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateHyperparameterTuningJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetHyperparameterTuningJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetHyperparameterTuningJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListHyperparameterTuningJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListHyperparameterTuningJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListHyperparameterTuningJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListHyperparameterTuningJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListHyperparameterTuningJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListHyperparameterTuningJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListHyperparameterTuningJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListHyperparameterTuningJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListHyperparameterTuningJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteHyperparameterTuningJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteHyperparameterTuningJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CancelHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelHyperparameterTuningJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CancelHyperparameterTuningJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelHyperparameterTuningJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelHyperparameterTuningJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CreateNasJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateNasJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.NasJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateNasJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateNasJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateNasJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.NasJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateNasJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetNasJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNasJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNasJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetNasJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNasJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNasJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListNasJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListNasJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNasJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListNasJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNasJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListNasJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNasJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListNasJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNasJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteNasJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteNasJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteNasJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteNasJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteNasJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteNasJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CancelNasJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelNasJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelNasJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CancelNasJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelNasJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelNasJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetNasTrialDetail_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNasTrialDetailRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNasTrialDetail(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetNasTrialDetail_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNasTrialDetailRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNasTrialDetail(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListNasTrialDetails_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListNasTrialDetails_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNasTrialDetailsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListNasTrialDetails_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNasTrialDetails(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListNasTrialDetails_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNasTrialDetailsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListNasTrialDetails_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNasTrialDetails(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CreateBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.BatchPredictionJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateBatchPredictionJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.BatchPredictionJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateBatchPredictionJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetBatchPredictionJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetBatchPredictionJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListBatchPredictionJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListBatchPredictionJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListBatchPredictionJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListBatchPredictionJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListBatchPredictionJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListBatchPredictionJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListBatchPredictionJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListBatchPredictionJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListBatchPredictionJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteBatchPredictionJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteBatchPredictionJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CancelBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelBatchPredictionJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CancelBatchPredictionJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelBatchPredictionJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelBatchPredictionJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_CreateModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ModelDeploymentMonitoringJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_CreateModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ModelDeploymentMonitoringJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchModelDeploymentMonitoringStatsAnomaliesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model_deployment_monitoring_job"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model_deployment_monitoring_job") + } + + protoReq.ModelDeploymentMonitoringJob, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model_deployment_monitoring_job", err) + } + + msg, err := client.SearchModelDeploymentMonitoringStatsAnomalies(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchModelDeploymentMonitoringStatsAnomaliesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model_deployment_monitoring_job"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model_deployment_monitoring_job") + } + + protoReq.ModelDeploymentMonitoringJob, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model_deployment_monitoring_job", err) + } + + msg, err := server.SearchModelDeploymentMonitoringStatsAnomalies(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_GetModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_GetModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_ListModelDeploymentMonitoringJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_JobService_ListModelDeploymentMonitoringJobs_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelDeploymentMonitoringJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListModelDeploymentMonitoringJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListModelDeploymentMonitoringJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ListModelDeploymentMonitoringJobs_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelDeploymentMonitoringJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_ListModelDeploymentMonitoringJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListModelDeploymentMonitoringJobs(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_JobService_UpdateModelDeploymentMonitoringJob_0 = &utilities.DoubleArray{Encoding: map[string]int{"model_deployment_monitoring_job": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_JobService_UpdateModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ModelDeploymentMonitoringJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.ModelDeploymentMonitoringJob); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model_deployment_monitoring_job.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model_deployment_monitoring_job.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "model_deployment_monitoring_job.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model_deployment_monitoring_job.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_UpdateModelDeploymentMonitoringJob_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_UpdateModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ModelDeploymentMonitoringJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.ModelDeploymentMonitoringJob); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model_deployment_monitoring_job.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model_deployment_monitoring_job.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "model_deployment_monitoring_job.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model_deployment_monitoring_job.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_JobService_UpdateModelDeploymentMonitoringJob_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_DeleteModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_DeleteModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_PauseModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PauseModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.PauseModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_PauseModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PauseModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.PauseModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_JobService_ResumeModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, client JobServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResumeModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ResumeModelDeploymentMonitoringJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_JobService_ResumeModelDeploymentMonitoringJob_0(ctx context.Context, marshaler runtime.Marshaler, server JobServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResumeModelDeploymentMonitoringJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ResumeModelDeploymentMonitoringJob(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterJobServiceHandlerServer registers the http handlers for service JobService to "mux". +// UnaryRPC :call JobServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterJobServiceHandlerFromEndpoint instead. +func RegisterJobServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server JobServiceServer) error { + + mux.Handle("POST", pattern_JobService_CreateCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/customJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateCustomJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetCustomJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListCustomJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListCustomJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/customJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListCustomJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListCustomJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteCustomJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CancelCustomJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/dataLabelingJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateDataLabelingJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetDataLabelingJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListDataLabelingJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListDataLabelingJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/dataLabelingJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListDataLabelingJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListDataLabelingJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteDataLabelingJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CancelDataLabelingJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/hyperparameterTuningJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListHyperparameterTuningJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListHyperparameterTuningJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/hyperparameterTuningJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListHyperparameterTuningJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListHyperparameterTuningJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CancelHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateNasJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/nasJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateNasJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetNasJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListNasJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/nasJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListNasJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListNasJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteNasJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CancelNasJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetNasTrialDetail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasTrialDetail", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*/nasTrialDetails/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetNasTrialDetail_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetNasTrialDetail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListNasTrialDetails_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasTrialDetails", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/nasJobs/*}/nasTrialDetails")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListNasTrialDetails_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListNasTrialDetails_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/batchPredictionJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateBatchPredictionJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetBatchPredictionJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListBatchPredictionJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListBatchPredictionJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/batchPredictionJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListBatchPredictionJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListBatchPredictionJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteBatchPredictionJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CancelBatchPredictionJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_CreateModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/SearchModelDeploymentMonitoringStatsAnomalies", runtime.WithHTTPPathPattern("/v1beta1/{model_deployment_monitoring_job=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:searchModelDeploymentMonitoringStatsAnomalies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_GetModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListModelDeploymentMonitoringJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListModelDeploymentMonitoringJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ListModelDeploymentMonitoringJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListModelDeploymentMonitoringJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_JobService_UpdateModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/UpdateModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{model_deployment_monitoring_job.name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_UpdateModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_UpdateModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_DeleteModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_PauseModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/PauseModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_PauseModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_PauseModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_ResumeModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ResumeModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:resume")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_JobService_ResumeModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ResumeModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterJobServiceHandlerFromEndpoint is same as RegisterJobServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterJobServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterJobServiceHandler(ctx, mux, conn) +} + +// RegisterJobServiceHandler registers the http handlers for service JobService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterJobServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterJobServiceHandlerClient(ctx, mux, NewJobServiceClient(conn)) +} + +// RegisterJobServiceHandlerClient registers the http handlers for service JobService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "JobServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "JobServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "JobServiceClient" to call the correct interceptors. +func RegisterJobServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client JobServiceClient) error { + + mux.Handle("POST", pattern_JobService_CreateCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/customJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateCustomJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetCustomJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListCustomJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListCustomJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/customJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListCustomJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListCustomJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteCustomJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelCustomJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelCustomJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/customJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CancelCustomJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelCustomJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/dataLabelingJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateDataLabelingJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetDataLabelingJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListDataLabelingJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListDataLabelingJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/dataLabelingJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListDataLabelingJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListDataLabelingJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteDataLabelingJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelDataLabelingJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelDataLabelingJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CancelDataLabelingJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelDataLabelingJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/hyperparameterTuningJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListHyperparameterTuningJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListHyperparameterTuningJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/hyperparameterTuningJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListHyperparameterTuningJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListHyperparameterTuningJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelHyperparameterTuningJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelHyperparameterTuningJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CancelHyperparameterTuningJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelHyperparameterTuningJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateNasJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/nasJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateNasJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetNasJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListNasJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/nasJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListNasJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListNasJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteNasJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelNasJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelNasJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CancelNasJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelNasJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetNasTrialDetail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasTrialDetail", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/nasJobs/*/nasTrialDetails/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetNasTrialDetail_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetNasTrialDetail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListNasTrialDetails_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasTrialDetails", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/nasJobs/*}/nasTrialDetails")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListNasTrialDetails_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListNasTrialDetails_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/batchPredictionJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateBatchPredictionJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetBatchPredictionJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListBatchPredictionJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListBatchPredictionJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/batchPredictionJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListBatchPredictionJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListBatchPredictionJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteBatchPredictionJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CancelBatchPredictionJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelBatchPredictionJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/batchPredictionJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CancelBatchPredictionJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CancelBatchPredictionJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_CreateModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_CreateModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_CreateModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/SearchModelDeploymentMonitoringStatsAnomalies", runtime.WithHTTPPathPattern("/v1beta1/{model_deployment_monitoring_job=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:searchModelDeploymentMonitoringStatsAnomalies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_GetModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_GetModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_GetModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_JobService_ListModelDeploymentMonitoringJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListModelDeploymentMonitoringJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ListModelDeploymentMonitoringJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ListModelDeploymentMonitoringJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_JobService_UpdateModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/UpdateModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{model_deployment_monitoring_job.name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_UpdateModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_UpdateModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_JobService_DeleteModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_DeleteModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_DeleteModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_PauseModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/PauseModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_PauseModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_PauseModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_JobService_ResumeModelDeploymentMonitoringJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ResumeModelDeploymentMonitoringJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:resume")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_JobService_ResumeModelDeploymentMonitoringJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_JobService_ResumeModelDeploymentMonitoringJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_JobService_CreateCustomJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "customJobs"}, "")) + + pattern_JobService_GetCustomJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "customJobs", "name"}, "")) + + pattern_JobService_ListCustomJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "customJobs"}, "")) + + pattern_JobService_DeleteCustomJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "customJobs", "name"}, "")) + + pattern_JobService_CancelCustomJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "customJobs", "name"}, "cancel")) + + pattern_JobService_CreateDataLabelingJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "dataLabelingJobs"}, "")) + + pattern_JobService_GetDataLabelingJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "dataLabelingJobs", "name"}, "")) + + pattern_JobService_ListDataLabelingJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "dataLabelingJobs"}, "")) + + pattern_JobService_DeleteDataLabelingJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "dataLabelingJobs", "name"}, "")) + + pattern_JobService_CancelDataLabelingJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "dataLabelingJobs", "name"}, "cancel")) + + pattern_JobService_CreateHyperparameterTuningJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "hyperparameterTuningJobs"}, "")) + + pattern_JobService_GetHyperparameterTuningJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "hyperparameterTuningJobs", "name"}, "")) + + pattern_JobService_ListHyperparameterTuningJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "hyperparameterTuningJobs"}, "")) + + pattern_JobService_DeleteHyperparameterTuningJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "hyperparameterTuningJobs", "name"}, "")) + + pattern_JobService_CancelHyperparameterTuningJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "hyperparameterTuningJobs", "name"}, "cancel")) + + pattern_JobService_CreateNasJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "nasJobs"}, "")) + + pattern_JobService_GetNasJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "nasJobs", "name"}, "")) + + pattern_JobService_ListNasJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "nasJobs"}, "")) + + pattern_JobService_DeleteNasJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "nasJobs", "name"}, "")) + + pattern_JobService_CancelNasJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "nasJobs", "name"}, "cancel")) + + pattern_JobService_GetNasTrialDetail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "nasJobs", "nasTrialDetails", "name"}, "")) + + pattern_JobService_ListNasTrialDetails_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "nasJobs", "parent", "nasTrialDetails"}, "")) + + pattern_JobService_CreateBatchPredictionJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "batchPredictionJobs"}, "")) + + pattern_JobService_GetBatchPredictionJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "batchPredictionJobs", "name"}, "")) + + pattern_JobService_ListBatchPredictionJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "batchPredictionJobs"}, "")) + + pattern_JobService_DeleteBatchPredictionJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "batchPredictionJobs", "name"}, "")) + + pattern_JobService_CancelBatchPredictionJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "batchPredictionJobs", "name"}, "cancel")) + + pattern_JobService_CreateModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "modelDeploymentMonitoringJobs"}, "")) + + pattern_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "model_deployment_monitoring_job"}, "searchModelDeploymentMonitoringStatsAnomalies")) + + pattern_JobService_GetModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "name"}, "")) + + pattern_JobService_ListModelDeploymentMonitoringJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "modelDeploymentMonitoringJobs"}, "")) + + pattern_JobService_UpdateModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "model_deployment_monitoring_job.name"}, "")) + + pattern_JobService_DeleteModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "name"}, "")) + + pattern_JobService_PauseModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "name"}, "pause")) + + pattern_JobService_ResumeModelDeploymentMonitoringJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "modelDeploymentMonitoringJobs", "name"}, "resume")) +) + +var ( + forward_JobService_CreateCustomJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetCustomJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListCustomJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteCustomJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CancelCustomJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CreateDataLabelingJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetDataLabelingJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListDataLabelingJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteDataLabelingJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CancelDataLabelingJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CreateHyperparameterTuningJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetHyperparameterTuningJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListHyperparameterTuningJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteHyperparameterTuningJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CancelHyperparameterTuningJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CreateNasJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetNasJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListNasJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteNasJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CancelNasJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetNasTrialDetail_0 = runtime.ForwardResponseMessage + + forward_JobService_ListNasTrialDetails_0 = runtime.ForwardResponseMessage + + forward_JobService_CreateBatchPredictionJob_0 = runtime.ForwardResponseMessage + + forward_JobService_GetBatchPredictionJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListBatchPredictionJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteBatchPredictionJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CancelBatchPredictionJob_0 = runtime.ForwardResponseMessage + + forward_JobService_CreateModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage + + forward_JobService_SearchModelDeploymentMonitoringStatsAnomalies_0 = runtime.ForwardResponseMessage + + forward_JobService_GetModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ListModelDeploymentMonitoringJobs_0 = runtime.ForwardResponseMessage + + forward_JobService_UpdateModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage + + forward_JobService_DeleteModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage + + forward_JobService_PauseModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage + + forward_JobService_ResumeModelDeploymentMonitoringJob_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service_grpc.pb.go new file mode 100644 index 0000000000..6d68f8f8d2 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_service_grpc.pb.go @@ -0,0 +1,1515 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/job_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// JobServiceClient is the client API for JobService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type JobServiceClient interface { + // Creates a CustomJob. A created CustomJob right away + // will be attempted to be run. + CreateCustomJob(ctx context.Context, in *CreateCustomJobRequest, opts ...grpc.CallOption) (*CustomJob, error) + // Gets a CustomJob. + GetCustomJob(ctx context.Context, in *GetCustomJobRequest, opts ...grpc.CallOption) (*CustomJob, error) + // Lists CustomJobs in a Location. + ListCustomJobs(ctx context.Context, in *ListCustomJobsRequest, opts ...grpc.CallOption) (*ListCustomJobsResponse, error) + // Deletes a CustomJob. + DeleteCustomJob(ctx context.Context, in *DeleteCustomJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a CustomJob. + // Starts asynchronous cancellation on the CustomJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetCustomJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the CustomJob is not deleted; instead it becomes a job with + // a [CustomJob.error][mockgcp.cloud.aiplatform.v1beta1.CustomJob.error] value + // with a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding + // to `Code.CANCELLED`, and + // [CustomJob.state][mockgcp.cloud.aiplatform.v1beta1.CustomJob.state] is set + // to `CANCELLED`. + CancelCustomJob(ctx context.Context, in *CancelCustomJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a DataLabelingJob. + CreateDataLabelingJob(ctx context.Context, in *CreateDataLabelingJobRequest, opts ...grpc.CallOption) (*DataLabelingJob, error) + // Gets a DataLabelingJob. + GetDataLabelingJob(ctx context.Context, in *GetDataLabelingJobRequest, opts ...grpc.CallOption) (*DataLabelingJob, error) + // Lists DataLabelingJobs in a Location. + ListDataLabelingJobs(ctx context.Context, in *ListDataLabelingJobsRequest, opts ...grpc.CallOption) (*ListDataLabelingJobsResponse, error) + // Deletes a DataLabelingJob. + DeleteDataLabelingJob(ctx context.Context, in *DeleteDataLabelingJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a DataLabelingJob. Success of cancellation is not guaranteed. + CancelDataLabelingJob(ctx context.Context, in *CancelDataLabelingJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a HyperparameterTuningJob + CreateHyperparameterTuningJob(ctx context.Context, in *CreateHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*HyperparameterTuningJob, error) + // Gets a HyperparameterTuningJob + GetHyperparameterTuningJob(ctx context.Context, in *GetHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*HyperparameterTuningJob, error) + // Lists HyperparameterTuningJobs in a Location. + ListHyperparameterTuningJobs(ctx context.Context, in *ListHyperparameterTuningJobsRequest, opts ...grpc.CallOption) (*ListHyperparameterTuningJobsResponse, error) + // Deletes a HyperparameterTuningJob. + DeleteHyperparameterTuningJob(ctx context.Context, in *DeleteHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a HyperparameterTuningJob. + // Starts asynchronous cancellation on the HyperparameterTuningJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the HyperparameterTuningJob is not deleted; instead it becomes a job with + // a + // [HyperparameterTuningJob.error][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [HyperparameterTuningJob.state][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.state] + // is set to `CANCELLED`. + CancelHyperparameterTuningJob(ctx context.Context, in *CancelHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a NasJob + CreateNasJob(ctx context.Context, in *CreateNasJobRequest, opts ...grpc.CallOption) (*NasJob, error) + // Gets a NasJob + GetNasJob(ctx context.Context, in *GetNasJobRequest, opts ...grpc.CallOption) (*NasJob, error) + // Lists NasJobs in a Location. + ListNasJobs(ctx context.Context, in *ListNasJobsRequest, opts ...grpc.CallOption) (*ListNasJobsResponse, error) + // Deletes a NasJob. + DeleteNasJob(ctx context.Context, in *DeleteNasJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a NasJob. + // Starts asynchronous cancellation on the NasJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the NasJob is not deleted; instead it becomes a job with + // a [NasJob.error][mockgcp.cloud.aiplatform.v1beta1.NasJob.error] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`, and + // [NasJob.state][mockgcp.cloud.aiplatform.v1beta1.NasJob.state] is set to + // `CANCELLED`. + CancelNasJob(ctx context.Context, in *CancelNasJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Gets a NasTrialDetail. + GetNasTrialDetail(ctx context.Context, in *GetNasTrialDetailRequest, opts ...grpc.CallOption) (*NasTrialDetail, error) + // List top NasTrialDetails of a NasJob. + ListNasTrialDetails(ctx context.Context, in *ListNasTrialDetailsRequest, opts ...grpc.CallOption) (*ListNasTrialDetailsResponse, error) + // Creates a BatchPredictionJob. A BatchPredictionJob once created will + // right away be attempted to start. + CreateBatchPredictionJob(ctx context.Context, in *CreateBatchPredictionJobRequest, opts ...grpc.CallOption) (*BatchPredictionJob, error) + // Gets a BatchPredictionJob + GetBatchPredictionJob(ctx context.Context, in *GetBatchPredictionJobRequest, opts ...grpc.CallOption) (*BatchPredictionJob, error) + // Lists BatchPredictionJobs in a Location. + ListBatchPredictionJobs(ctx context.Context, in *ListBatchPredictionJobsRequest, opts ...grpc.CallOption) (*ListBatchPredictionJobsResponse, error) + // Deletes a BatchPredictionJob. Can only be called on jobs that already + // finished. + DeleteBatchPredictionJob(ctx context.Context, in *DeleteBatchPredictionJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a BatchPredictionJob. + // + // Starts asynchronous cancellation on the BatchPredictionJob. The server + // makes the best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On a successful cancellation, + // the BatchPredictionJob is not deleted;instead its + // [BatchPredictionJob.state][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.state] + // is set to `CANCELLED`. Any files already outputted by the job are not + // deleted. + CancelBatchPredictionJob(ctx context.Context, in *CancelBatchPredictionJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a ModelDeploymentMonitoringJob. It will run periodically on a + // configured interval. + CreateModelDeploymentMonitoringJob(ctx context.Context, in *CreateModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*ModelDeploymentMonitoringJob, error) + // Searches Model Monitoring Statistics generated within a given time window. + SearchModelDeploymentMonitoringStatsAnomalies(ctx context.Context, in *SearchModelDeploymentMonitoringStatsAnomaliesRequest, opts ...grpc.CallOption) (*SearchModelDeploymentMonitoringStatsAnomaliesResponse, error) + // Gets a ModelDeploymentMonitoringJob. + GetModelDeploymentMonitoringJob(ctx context.Context, in *GetModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*ModelDeploymentMonitoringJob, error) + // Lists ModelDeploymentMonitoringJobs in a Location. + ListModelDeploymentMonitoringJobs(ctx context.Context, in *ListModelDeploymentMonitoringJobsRequest, opts ...grpc.CallOption) (*ListModelDeploymentMonitoringJobsResponse, error) + // Updates a ModelDeploymentMonitoringJob. + UpdateModelDeploymentMonitoringJob(ctx context.Context, in *UpdateModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a ModelDeploymentMonitoringJob. + DeleteModelDeploymentMonitoringJob(ctx context.Context, in *DeleteModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Pauses a ModelDeploymentMonitoringJob. If the job is running, the server + // makes a best effort to cancel the job. Will mark + // [ModelDeploymentMonitoringJob.state][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.state] + // to 'PAUSED'. + PauseModelDeploymentMonitoringJob(ctx context.Context, in *PauseModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Resumes a paused ModelDeploymentMonitoringJob. It will start to run from + // next scheduled time. A deleted ModelDeploymentMonitoringJob can't be + // resumed. + ResumeModelDeploymentMonitoringJob(ctx context.Context, in *ResumeModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type jobServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient { + return &jobServiceClient{cc} +} + +func (c *jobServiceClient) CreateCustomJob(ctx context.Context, in *CreateCustomJobRequest, opts ...grpc.CallOption) (*CustomJob, error) { + out := new(CustomJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateCustomJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetCustomJob(ctx context.Context, in *GetCustomJobRequest, opts ...grpc.CallOption) (*CustomJob, error) { + out := new(CustomJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetCustomJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListCustomJobs(ctx context.Context, in *ListCustomJobsRequest, opts ...grpc.CallOption) (*ListCustomJobsResponse, error) { + out := new(ListCustomJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListCustomJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteCustomJob(ctx context.Context, in *DeleteCustomJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteCustomJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CancelCustomJob(ctx context.Context, in *CancelCustomJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelCustomJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CreateDataLabelingJob(ctx context.Context, in *CreateDataLabelingJobRequest, opts ...grpc.CallOption) (*DataLabelingJob, error) { + out := new(DataLabelingJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateDataLabelingJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetDataLabelingJob(ctx context.Context, in *GetDataLabelingJobRequest, opts ...grpc.CallOption) (*DataLabelingJob, error) { + out := new(DataLabelingJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetDataLabelingJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListDataLabelingJobs(ctx context.Context, in *ListDataLabelingJobsRequest, opts ...grpc.CallOption) (*ListDataLabelingJobsResponse, error) { + out := new(ListDataLabelingJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListDataLabelingJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteDataLabelingJob(ctx context.Context, in *DeleteDataLabelingJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteDataLabelingJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CancelDataLabelingJob(ctx context.Context, in *CancelDataLabelingJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelDataLabelingJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CreateHyperparameterTuningJob(ctx context.Context, in *CreateHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*HyperparameterTuningJob, error) { + out := new(HyperparameterTuningJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateHyperparameterTuningJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetHyperparameterTuningJob(ctx context.Context, in *GetHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*HyperparameterTuningJob, error) { + out := new(HyperparameterTuningJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetHyperparameterTuningJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListHyperparameterTuningJobs(ctx context.Context, in *ListHyperparameterTuningJobsRequest, opts ...grpc.CallOption) (*ListHyperparameterTuningJobsResponse, error) { + out := new(ListHyperparameterTuningJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListHyperparameterTuningJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteHyperparameterTuningJob(ctx context.Context, in *DeleteHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteHyperparameterTuningJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CancelHyperparameterTuningJob(ctx context.Context, in *CancelHyperparameterTuningJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelHyperparameterTuningJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CreateNasJob(ctx context.Context, in *CreateNasJobRequest, opts ...grpc.CallOption) (*NasJob, error) { + out := new(NasJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateNasJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetNasJob(ctx context.Context, in *GetNasJobRequest, opts ...grpc.CallOption) (*NasJob, error) { + out := new(NasJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListNasJobs(ctx context.Context, in *ListNasJobsRequest, opts ...grpc.CallOption) (*ListNasJobsResponse, error) { + out := new(ListNasJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteNasJob(ctx context.Context, in *DeleteNasJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteNasJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CancelNasJob(ctx context.Context, in *CancelNasJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelNasJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetNasTrialDetail(ctx context.Context, in *GetNasTrialDetailRequest, opts ...grpc.CallOption) (*NasTrialDetail, error) { + out := new(NasTrialDetail) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasTrialDetail", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListNasTrialDetails(ctx context.Context, in *ListNasTrialDetailsRequest, opts ...grpc.CallOption) (*ListNasTrialDetailsResponse, error) { + out := new(ListNasTrialDetailsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasTrialDetails", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CreateBatchPredictionJob(ctx context.Context, in *CreateBatchPredictionJobRequest, opts ...grpc.CallOption) (*BatchPredictionJob, error) { + out := new(BatchPredictionJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateBatchPredictionJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetBatchPredictionJob(ctx context.Context, in *GetBatchPredictionJobRequest, opts ...grpc.CallOption) (*BatchPredictionJob, error) { + out := new(BatchPredictionJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetBatchPredictionJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListBatchPredictionJobs(ctx context.Context, in *ListBatchPredictionJobsRequest, opts ...grpc.CallOption) (*ListBatchPredictionJobsResponse, error) { + out := new(ListBatchPredictionJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListBatchPredictionJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteBatchPredictionJob(ctx context.Context, in *DeleteBatchPredictionJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteBatchPredictionJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CancelBatchPredictionJob(ctx context.Context, in *CancelBatchPredictionJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelBatchPredictionJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) CreateModelDeploymentMonitoringJob(ctx context.Context, in *CreateModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*ModelDeploymentMonitoringJob, error) { + out := new(ModelDeploymentMonitoringJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) SearchModelDeploymentMonitoringStatsAnomalies(ctx context.Context, in *SearchModelDeploymentMonitoringStatsAnomaliesRequest, opts ...grpc.CallOption) (*SearchModelDeploymentMonitoringStatsAnomaliesResponse, error) { + out := new(SearchModelDeploymentMonitoringStatsAnomaliesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/SearchModelDeploymentMonitoringStatsAnomalies", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetModelDeploymentMonitoringJob(ctx context.Context, in *GetModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*ModelDeploymentMonitoringJob, error) { + out := new(ModelDeploymentMonitoringJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListModelDeploymentMonitoringJobs(ctx context.Context, in *ListModelDeploymentMonitoringJobsRequest, opts ...grpc.CallOption) (*ListModelDeploymentMonitoringJobsResponse, error) { + out := new(ListModelDeploymentMonitoringJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListModelDeploymentMonitoringJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) UpdateModelDeploymentMonitoringJob(ctx context.Context, in *UpdateModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/UpdateModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) DeleteModelDeploymentMonitoringJob(ctx context.Context, in *DeleteModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) PauseModelDeploymentMonitoringJob(ctx context.Context, in *PauseModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/PauseModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ResumeModelDeploymentMonitoringJob(ctx context.Context, in *ResumeModelDeploymentMonitoringJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.JobService/ResumeModelDeploymentMonitoringJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// JobServiceServer is the server API for JobService service. +// All implementations must embed UnimplementedJobServiceServer +// for forward compatibility +type JobServiceServer interface { + // Creates a CustomJob. A created CustomJob right away + // will be attempted to be run. + CreateCustomJob(context.Context, *CreateCustomJobRequest) (*CustomJob, error) + // Gets a CustomJob. + GetCustomJob(context.Context, *GetCustomJobRequest) (*CustomJob, error) + // Lists CustomJobs in a Location. + ListCustomJobs(context.Context, *ListCustomJobsRequest) (*ListCustomJobsResponse, error) + // Deletes a CustomJob. + DeleteCustomJob(context.Context, *DeleteCustomJobRequest) (*longrunningpb.Operation, error) + // Cancels a CustomJob. + // Starts asynchronous cancellation on the CustomJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetCustomJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetCustomJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the CustomJob is not deleted; instead it becomes a job with + // a [CustomJob.error][mockgcp.cloud.aiplatform.v1beta1.CustomJob.error] value + // with a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding + // to `Code.CANCELLED`, and + // [CustomJob.state][mockgcp.cloud.aiplatform.v1beta1.CustomJob.state] is set + // to `CANCELLED`. + CancelCustomJob(context.Context, *CancelCustomJobRequest) (*empty.Empty, error) + // Creates a DataLabelingJob. + CreateDataLabelingJob(context.Context, *CreateDataLabelingJobRequest) (*DataLabelingJob, error) + // Gets a DataLabelingJob. + GetDataLabelingJob(context.Context, *GetDataLabelingJobRequest) (*DataLabelingJob, error) + // Lists DataLabelingJobs in a Location. + ListDataLabelingJobs(context.Context, *ListDataLabelingJobsRequest) (*ListDataLabelingJobsResponse, error) + // Deletes a DataLabelingJob. + DeleteDataLabelingJob(context.Context, *DeleteDataLabelingJobRequest) (*longrunningpb.Operation, error) + // Cancels a DataLabelingJob. Success of cancellation is not guaranteed. + CancelDataLabelingJob(context.Context, *CancelDataLabelingJobRequest) (*empty.Empty, error) + // Creates a HyperparameterTuningJob + CreateHyperparameterTuningJob(context.Context, *CreateHyperparameterTuningJobRequest) (*HyperparameterTuningJob, error) + // Gets a HyperparameterTuningJob + GetHyperparameterTuningJob(context.Context, *GetHyperparameterTuningJobRequest) (*HyperparameterTuningJob, error) + // Lists HyperparameterTuningJobs in a Location. + ListHyperparameterTuningJobs(context.Context, *ListHyperparameterTuningJobsRequest) (*ListHyperparameterTuningJobsResponse, error) + // Deletes a HyperparameterTuningJob. + DeleteHyperparameterTuningJob(context.Context, *DeleteHyperparameterTuningJobRequest) (*longrunningpb.Operation, error) + // Cancels a HyperparameterTuningJob. + // Starts asynchronous cancellation on the HyperparameterTuningJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetHyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetHyperparameterTuningJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the HyperparameterTuningJob is not deleted; instead it becomes a job with + // a + // [HyperparameterTuningJob.error][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [HyperparameterTuningJob.state][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob.state] + // is set to `CANCELLED`. + CancelHyperparameterTuningJob(context.Context, *CancelHyperparameterTuningJobRequest) (*empty.Empty, error) + // Creates a NasJob + CreateNasJob(context.Context, *CreateNasJobRequest) (*NasJob, error) + // Gets a NasJob + GetNasJob(context.Context, *GetNasJobRequest) (*NasJob, error) + // Lists NasJobs in a Location. + ListNasJobs(context.Context, *ListNasJobsRequest) (*ListNasJobsResponse, error) + // Deletes a NasJob. + DeleteNasJob(context.Context, *DeleteNasJobRequest) (*longrunningpb.Operation, error) + // Cancels a NasJob. + // Starts asynchronous cancellation on the NasJob. The server + // makes a best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetNasJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetNasJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On successful cancellation, + // the NasJob is not deleted; instead it becomes a job with + // a [NasJob.error][mockgcp.cloud.aiplatform.v1beta1.NasJob.error] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`, and + // [NasJob.state][mockgcp.cloud.aiplatform.v1beta1.NasJob.state] is set to + // `CANCELLED`. + CancelNasJob(context.Context, *CancelNasJobRequest) (*empty.Empty, error) + // Gets a NasTrialDetail. + GetNasTrialDetail(context.Context, *GetNasTrialDetailRequest) (*NasTrialDetail, error) + // List top NasTrialDetails of a NasJob. + ListNasTrialDetails(context.Context, *ListNasTrialDetailsRequest) (*ListNasTrialDetailsResponse, error) + // Creates a BatchPredictionJob. A BatchPredictionJob once created will + // right away be attempted to start. + CreateBatchPredictionJob(context.Context, *CreateBatchPredictionJobRequest) (*BatchPredictionJob, error) + // Gets a BatchPredictionJob + GetBatchPredictionJob(context.Context, *GetBatchPredictionJobRequest) (*BatchPredictionJob, error) + // Lists BatchPredictionJobs in a Location. + ListBatchPredictionJobs(context.Context, *ListBatchPredictionJobsRequest) (*ListBatchPredictionJobsResponse, error) + // Deletes a BatchPredictionJob. Can only be called on jobs that already + // finished. + DeleteBatchPredictionJob(context.Context, *DeleteBatchPredictionJobRequest) (*longrunningpb.Operation, error) + // Cancels a BatchPredictionJob. + // + // Starts asynchronous cancellation on the BatchPredictionJob. The server + // makes the best effort to cancel the job, but success is not + // guaranteed. Clients can use + // [JobService.GetBatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.JobService.GetBatchPredictionJob] + // or other methods to check whether the cancellation succeeded or whether the + // job completed despite cancellation. On a successful cancellation, + // the BatchPredictionJob is not deleted;instead its + // [BatchPredictionJob.state][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.state] + // is set to `CANCELLED`. Any files already outputted by the job are not + // deleted. + CancelBatchPredictionJob(context.Context, *CancelBatchPredictionJobRequest) (*empty.Empty, error) + // Creates a ModelDeploymentMonitoringJob. It will run periodically on a + // configured interval. + CreateModelDeploymentMonitoringJob(context.Context, *CreateModelDeploymentMonitoringJobRequest) (*ModelDeploymentMonitoringJob, error) + // Searches Model Monitoring Statistics generated within a given time window. + SearchModelDeploymentMonitoringStatsAnomalies(context.Context, *SearchModelDeploymentMonitoringStatsAnomaliesRequest) (*SearchModelDeploymentMonitoringStatsAnomaliesResponse, error) + // Gets a ModelDeploymentMonitoringJob. + GetModelDeploymentMonitoringJob(context.Context, *GetModelDeploymentMonitoringJobRequest) (*ModelDeploymentMonitoringJob, error) + // Lists ModelDeploymentMonitoringJobs in a Location. + ListModelDeploymentMonitoringJobs(context.Context, *ListModelDeploymentMonitoringJobsRequest) (*ListModelDeploymentMonitoringJobsResponse, error) + // Updates a ModelDeploymentMonitoringJob. + UpdateModelDeploymentMonitoringJob(context.Context, *UpdateModelDeploymentMonitoringJobRequest) (*longrunningpb.Operation, error) + // Deletes a ModelDeploymentMonitoringJob. + DeleteModelDeploymentMonitoringJob(context.Context, *DeleteModelDeploymentMonitoringJobRequest) (*longrunningpb.Operation, error) + // Pauses a ModelDeploymentMonitoringJob. If the job is running, the server + // makes a best effort to cancel the job. Will mark + // [ModelDeploymentMonitoringJob.state][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.state] + // to 'PAUSED'. + PauseModelDeploymentMonitoringJob(context.Context, *PauseModelDeploymentMonitoringJobRequest) (*empty.Empty, error) + // Resumes a paused ModelDeploymentMonitoringJob. It will start to run from + // next scheduled time. A deleted ModelDeploymentMonitoringJob can't be + // resumed. + ResumeModelDeploymentMonitoringJob(context.Context, *ResumeModelDeploymentMonitoringJobRequest) (*empty.Empty, error) + mustEmbedUnimplementedJobServiceServer() +} + +// UnimplementedJobServiceServer must be embedded to have forward compatible implementations. +type UnimplementedJobServiceServer struct { +} + +func (UnimplementedJobServiceServer) CreateCustomJob(context.Context, *CreateCustomJobRequest) (*CustomJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateCustomJob not implemented") +} +func (UnimplementedJobServiceServer) GetCustomJob(context.Context, *GetCustomJobRequest) (*CustomJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCustomJob not implemented") +} +func (UnimplementedJobServiceServer) ListCustomJobs(context.Context, *ListCustomJobsRequest) (*ListCustomJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCustomJobs not implemented") +} +func (UnimplementedJobServiceServer) DeleteCustomJob(context.Context, *DeleteCustomJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteCustomJob not implemented") +} +func (UnimplementedJobServiceServer) CancelCustomJob(context.Context, *CancelCustomJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelCustomJob not implemented") +} +func (UnimplementedJobServiceServer) CreateDataLabelingJob(context.Context, *CreateDataLabelingJobRequest) (*DataLabelingJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDataLabelingJob not implemented") +} +func (UnimplementedJobServiceServer) GetDataLabelingJob(context.Context, *GetDataLabelingJobRequest) (*DataLabelingJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDataLabelingJob not implemented") +} +func (UnimplementedJobServiceServer) ListDataLabelingJobs(context.Context, *ListDataLabelingJobsRequest) (*ListDataLabelingJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDataLabelingJobs not implemented") +} +func (UnimplementedJobServiceServer) DeleteDataLabelingJob(context.Context, *DeleteDataLabelingJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDataLabelingJob not implemented") +} +func (UnimplementedJobServiceServer) CancelDataLabelingJob(context.Context, *CancelDataLabelingJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelDataLabelingJob not implemented") +} +func (UnimplementedJobServiceServer) CreateHyperparameterTuningJob(context.Context, *CreateHyperparameterTuningJobRequest) (*HyperparameterTuningJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateHyperparameterTuningJob not implemented") +} +func (UnimplementedJobServiceServer) GetHyperparameterTuningJob(context.Context, *GetHyperparameterTuningJobRequest) (*HyperparameterTuningJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetHyperparameterTuningJob not implemented") +} +func (UnimplementedJobServiceServer) ListHyperparameterTuningJobs(context.Context, *ListHyperparameterTuningJobsRequest) (*ListHyperparameterTuningJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListHyperparameterTuningJobs not implemented") +} +func (UnimplementedJobServiceServer) DeleteHyperparameterTuningJob(context.Context, *DeleteHyperparameterTuningJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteHyperparameterTuningJob not implemented") +} +func (UnimplementedJobServiceServer) CancelHyperparameterTuningJob(context.Context, *CancelHyperparameterTuningJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelHyperparameterTuningJob not implemented") +} +func (UnimplementedJobServiceServer) CreateNasJob(context.Context, *CreateNasJobRequest) (*NasJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNasJob not implemented") +} +func (UnimplementedJobServiceServer) GetNasJob(context.Context, *GetNasJobRequest) (*NasJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNasJob not implemented") +} +func (UnimplementedJobServiceServer) ListNasJobs(context.Context, *ListNasJobsRequest) (*ListNasJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNasJobs not implemented") +} +func (UnimplementedJobServiceServer) DeleteNasJob(context.Context, *DeleteNasJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNasJob not implemented") +} +func (UnimplementedJobServiceServer) CancelNasJob(context.Context, *CancelNasJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelNasJob not implemented") +} +func (UnimplementedJobServiceServer) GetNasTrialDetail(context.Context, *GetNasTrialDetailRequest) (*NasTrialDetail, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNasTrialDetail not implemented") +} +func (UnimplementedJobServiceServer) ListNasTrialDetails(context.Context, *ListNasTrialDetailsRequest) (*ListNasTrialDetailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNasTrialDetails not implemented") +} +func (UnimplementedJobServiceServer) CreateBatchPredictionJob(context.Context, *CreateBatchPredictionJobRequest) (*BatchPredictionJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBatchPredictionJob not implemented") +} +func (UnimplementedJobServiceServer) GetBatchPredictionJob(context.Context, *GetBatchPredictionJobRequest) (*BatchPredictionJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBatchPredictionJob not implemented") +} +func (UnimplementedJobServiceServer) ListBatchPredictionJobs(context.Context, *ListBatchPredictionJobsRequest) (*ListBatchPredictionJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListBatchPredictionJobs not implemented") +} +func (UnimplementedJobServiceServer) DeleteBatchPredictionJob(context.Context, *DeleteBatchPredictionJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteBatchPredictionJob not implemented") +} +func (UnimplementedJobServiceServer) CancelBatchPredictionJob(context.Context, *CancelBatchPredictionJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelBatchPredictionJob not implemented") +} +func (UnimplementedJobServiceServer) CreateModelDeploymentMonitoringJob(context.Context, *CreateModelDeploymentMonitoringJobRequest) (*ModelDeploymentMonitoringJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) SearchModelDeploymentMonitoringStatsAnomalies(context.Context, *SearchModelDeploymentMonitoringStatsAnomaliesRequest) (*SearchModelDeploymentMonitoringStatsAnomaliesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchModelDeploymentMonitoringStatsAnomalies not implemented") +} +func (UnimplementedJobServiceServer) GetModelDeploymentMonitoringJob(context.Context, *GetModelDeploymentMonitoringJobRequest) (*ModelDeploymentMonitoringJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) ListModelDeploymentMonitoringJobs(context.Context, *ListModelDeploymentMonitoringJobsRequest) (*ListModelDeploymentMonitoringJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModelDeploymentMonitoringJobs not implemented") +} +func (UnimplementedJobServiceServer) UpdateModelDeploymentMonitoringJob(context.Context, *UpdateModelDeploymentMonitoringJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) DeleteModelDeploymentMonitoringJob(context.Context, *DeleteModelDeploymentMonitoringJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) PauseModelDeploymentMonitoringJob(context.Context, *PauseModelDeploymentMonitoringJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method PauseModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) ResumeModelDeploymentMonitoringJob(context.Context, *ResumeModelDeploymentMonitoringJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeModelDeploymentMonitoringJob not implemented") +} +func (UnimplementedJobServiceServer) mustEmbedUnimplementedJobServiceServer() {} + +// UnsafeJobServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to JobServiceServer will +// result in compilation errors. +type UnsafeJobServiceServer interface { + mustEmbedUnimplementedJobServiceServer() +} + +func RegisterJobServiceServer(s grpc.ServiceRegistrar, srv JobServiceServer) { + s.RegisterService(&JobService_ServiceDesc, srv) +} + +func _JobService_CreateCustomJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateCustomJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateCustomJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateCustomJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateCustomJob(ctx, req.(*CreateCustomJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetCustomJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCustomJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetCustomJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetCustomJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetCustomJob(ctx, req.(*GetCustomJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListCustomJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCustomJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListCustomJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListCustomJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListCustomJobs(ctx, req.(*ListCustomJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteCustomJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteCustomJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteCustomJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteCustomJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteCustomJob(ctx, req.(*DeleteCustomJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CancelCustomJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelCustomJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CancelCustomJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelCustomJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CancelCustomJob(ctx, req.(*CancelCustomJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CreateDataLabelingJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDataLabelingJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateDataLabelingJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateDataLabelingJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateDataLabelingJob(ctx, req.(*CreateDataLabelingJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetDataLabelingJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDataLabelingJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetDataLabelingJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetDataLabelingJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetDataLabelingJob(ctx, req.(*GetDataLabelingJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListDataLabelingJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDataLabelingJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListDataLabelingJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListDataLabelingJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListDataLabelingJobs(ctx, req.(*ListDataLabelingJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteDataLabelingJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDataLabelingJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteDataLabelingJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteDataLabelingJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteDataLabelingJob(ctx, req.(*DeleteDataLabelingJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CancelDataLabelingJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelDataLabelingJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CancelDataLabelingJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelDataLabelingJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CancelDataLabelingJob(ctx, req.(*CancelDataLabelingJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CreateHyperparameterTuningJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateHyperparameterTuningJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateHyperparameterTuningJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateHyperparameterTuningJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateHyperparameterTuningJob(ctx, req.(*CreateHyperparameterTuningJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetHyperparameterTuningJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetHyperparameterTuningJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetHyperparameterTuningJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetHyperparameterTuningJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetHyperparameterTuningJob(ctx, req.(*GetHyperparameterTuningJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListHyperparameterTuningJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListHyperparameterTuningJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListHyperparameterTuningJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListHyperparameterTuningJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListHyperparameterTuningJobs(ctx, req.(*ListHyperparameterTuningJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteHyperparameterTuningJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteHyperparameterTuningJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteHyperparameterTuningJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteHyperparameterTuningJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteHyperparameterTuningJob(ctx, req.(*DeleteHyperparameterTuningJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CancelHyperparameterTuningJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelHyperparameterTuningJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CancelHyperparameterTuningJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelHyperparameterTuningJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CancelHyperparameterTuningJob(ctx, req.(*CancelHyperparameterTuningJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CreateNasJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNasJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateNasJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateNasJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateNasJob(ctx, req.(*CreateNasJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetNasJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNasJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetNasJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetNasJob(ctx, req.(*GetNasJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListNasJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNasJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListNasJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListNasJobs(ctx, req.(*ListNasJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteNasJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNasJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteNasJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteNasJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteNasJob(ctx, req.(*DeleteNasJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CancelNasJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelNasJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CancelNasJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelNasJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CancelNasJob(ctx, req.(*CancelNasJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetNasTrialDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNasTrialDetailRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetNasTrialDetail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetNasTrialDetail", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetNasTrialDetail(ctx, req.(*GetNasTrialDetailRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListNasTrialDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNasTrialDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListNasTrialDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListNasTrialDetails", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListNasTrialDetails(ctx, req.(*ListNasTrialDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CreateBatchPredictionJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateBatchPredictionJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateBatchPredictionJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateBatchPredictionJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateBatchPredictionJob(ctx, req.(*CreateBatchPredictionJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetBatchPredictionJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBatchPredictionJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetBatchPredictionJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetBatchPredictionJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetBatchPredictionJob(ctx, req.(*GetBatchPredictionJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListBatchPredictionJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListBatchPredictionJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListBatchPredictionJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListBatchPredictionJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListBatchPredictionJobs(ctx, req.(*ListBatchPredictionJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteBatchPredictionJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBatchPredictionJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteBatchPredictionJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteBatchPredictionJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteBatchPredictionJob(ctx, req.(*DeleteBatchPredictionJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CancelBatchPredictionJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelBatchPredictionJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CancelBatchPredictionJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CancelBatchPredictionJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CancelBatchPredictionJob(ctx, req.(*CancelBatchPredictionJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_CreateModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).CreateModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/CreateModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).CreateModelDeploymentMonitoringJob(ctx, req.(*CreateModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_SearchModelDeploymentMonitoringStatsAnomalies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchModelDeploymentMonitoringStatsAnomaliesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).SearchModelDeploymentMonitoringStatsAnomalies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/SearchModelDeploymentMonitoringStatsAnomalies", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).SearchModelDeploymentMonitoringStatsAnomalies(ctx, req.(*SearchModelDeploymentMonitoringStatsAnomaliesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/GetModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetModelDeploymentMonitoringJob(ctx, req.(*GetModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListModelDeploymentMonitoringJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelDeploymentMonitoringJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListModelDeploymentMonitoringJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ListModelDeploymentMonitoringJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListModelDeploymentMonitoringJobs(ctx, req.(*ListModelDeploymentMonitoringJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_UpdateModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).UpdateModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/UpdateModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).UpdateModelDeploymentMonitoringJob(ctx, req.(*UpdateModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_DeleteModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).DeleteModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/DeleteModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).DeleteModelDeploymentMonitoringJob(ctx, req.(*DeleteModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_PauseModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).PauseModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/PauseModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).PauseModelDeploymentMonitoringJob(ctx, req.(*PauseModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ResumeModelDeploymentMonitoringJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResumeModelDeploymentMonitoringJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ResumeModelDeploymentMonitoringJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.JobService/ResumeModelDeploymentMonitoringJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ResumeModelDeploymentMonitoringJob(ctx, req.(*ResumeModelDeploymentMonitoringJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// JobService_ServiceDesc is the grpc.ServiceDesc for JobService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var JobService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.JobService", + HandlerType: (*JobServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateCustomJob", + Handler: _JobService_CreateCustomJob_Handler, + }, + { + MethodName: "GetCustomJob", + Handler: _JobService_GetCustomJob_Handler, + }, + { + MethodName: "ListCustomJobs", + Handler: _JobService_ListCustomJobs_Handler, + }, + { + MethodName: "DeleteCustomJob", + Handler: _JobService_DeleteCustomJob_Handler, + }, + { + MethodName: "CancelCustomJob", + Handler: _JobService_CancelCustomJob_Handler, + }, + { + MethodName: "CreateDataLabelingJob", + Handler: _JobService_CreateDataLabelingJob_Handler, + }, + { + MethodName: "GetDataLabelingJob", + Handler: _JobService_GetDataLabelingJob_Handler, + }, + { + MethodName: "ListDataLabelingJobs", + Handler: _JobService_ListDataLabelingJobs_Handler, + }, + { + MethodName: "DeleteDataLabelingJob", + Handler: _JobService_DeleteDataLabelingJob_Handler, + }, + { + MethodName: "CancelDataLabelingJob", + Handler: _JobService_CancelDataLabelingJob_Handler, + }, + { + MethodName: "CreateHyperparameterTuningJob", + Handler: _JobService_CreateHyperparameterTuningJob_Handler, + }, + { + MethodName: "GetHyperparameterTuningJob", + Handler: _JobService_GetHyperparameterTuningJob_Handler, + }, + { + MethodName: "ListHyperparameterTuningJobs", + Handler: _JobService_ListHyperparameterTuningJobs_Handler, + }, + { + MethodName: "DeleteHyperparameterTuningJob", + Handler: _JobService_DeleteHyperparameterTuningJob_Handler, + }, + { + MethodName: "CancelHyperparameterTuningJob", + Handler: _JobService_CancelHyperparameterTuningJob_Handler, + }, + { + MethodName: "CreateNasJob", + Handler: _JobService_CreateNasJob_Handler, + }, + { + MethodName: "GetNasJob", + Handler: _JobService_GetNasJob_Handler, + }, + { + MethodName: "ListNasJobs", + Handler: _JobService_ListNasJobs_Handler, + }, + { + MethodName: "DeleteNasJob", + Handler: _JobService_DeleteNasJob_Handler, + }, + { + MethodName: "CancelNasJob", + Handler: _JobService_CancelNasJob_Handler, + }, + { + MethodName: "GetNasTrialDetail", + Handler: _JobService_GetNasTrialDetail_Handler, + }, + { + MethodName: "ListNasTrialDetails", + Handler: _JobService_ListNasTrialDetails_Handler, + }, + { + MethodName: "CreateBatchPredictionJob", + Handler: _JobService_CreateBatchPredictionJob_Handler, + }, + { + MethodName: "GetBatchPredictionJob", + Handler: _JobService_GetBatchPredictionJob_Handler, + }, + { + MethodName: "ListBatchPredictionJobs", + Handler: _JobService_ListBatchPredictionJobs_Handler, + }, + { + MethodName: "DeleteBatchPredictionJob", + Handler: _JobService_DeleteBatchPredictionJob_Handler, + }, + { + MethodName: "CancelBatchPredictionJob", + Handler: _JobService_CancelBatchPredictionJob_Handler, + }, + { + MethodName: "CreateModelDeploymentMonitoringJob", + Handler: _JobService_CreateModelDeploymentMonitoringJob_Handler, + }, + { + MethodName: "SearchModelDeploymentMonitoringStatsAnomalies", + Handler: _JobService_SearchModelDeploymentMonitoringStatsAnomalies_Handler, + }, + { + MethodName: "GetModelDeploymentMonitoringJob", + Handler: _JobService_GetModelDeploymentMonitoringJob_Handler, + }, + { + MethodName: "ListModelDeploymentMonitoringJobs", + Handler: _JobService_ListModelDeploymentMonitoringJobs_Handler, + }, + { + MethodName: "UpdateModelDeploymentMonitoringJob", + Handler: _JobService_UpdateModelDeploymentMonitoringJob_Handler, + }, + { + MethodName: "DeleteModelDeploymentMonitoringJob", + Handler: _JobService_DeleteModelDeploymentMonitoringJob_Handler, + }, + { + MethodName: "PauseModelDeploymentMonitoringJob", + Handler: _JobService_PauseModelDeploymentMonitoringJob_Handler, + }, + { + MethodName: "ResumeModelDeploymentMonitoringJob", + Handler: _JobService_ResumeModelDeploymentMonitoringJob_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/job_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_state.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_state.pb.go new file mode 100644 index 0000000000..35610e094f --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/job_state.pb.go @@ -0,0 +1,220 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/job_state.proto + +package aiplatformpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the state of a job. +type JobState int32 + +const ( + // The job state is unspecified. + JobState_JOB_STATE_UNSPECIFIED JobState = 0 + // The job has been just created or resumed and processing has not yet begun. + JobState_JOB_STATE_QUEUED JobState = 1 + // The service is preparing to run the job. + JobState_JOB_STATE_PENDING JobState = 2 + // The job is in progress. + JobState_JOB_STATE_RUNNING JobState = 3 + // The job completed successfully. + JobState_JOB_STATE_SUCCEEDED JobState = 4 + // The job failed. + JobState_JOB_STATE_FAILED JobState = 5 + // The job is being cancelled. From this state the job may only go to + // either `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. + JobState_JOB_STATE_CANCELLING JobState = 6 + // The job has been cancelled. + JobState_JOB_STATE_CANCELLED JobState = 7 + // The job has been stopped, and can be resumed. + JobState_JOB_STATE_PAUSED JobState = 8 + // The job has expired. + JobState_JOB_STATE_EXPIRED JobState = 9 + // The job is being updated. Only jobs in the `RUNNING` state can be updated. + // After updating, the job goes back to the `RUNNING` state. + JobState_JOB_STATE_UPDATING JobState = 10 + // The job is partially succeeded, some results may be missing due to errors. + JobState_JOB_STATE_PARTIALLY_SUCCEEDED JobState = 11 +) + +// Enum value maps for JobState. +var ( + JobState_name = map[int32]string{ + 0: "JOB_STATE_UNSPECIFIED", + 1: "JOB_STATE_QUEUED", + 2: "JOB_STATE_PENDING", + 3: "JOB_STATE_RUNNING", + 4: "JOB_STATE_SUCCEEDED", + 5: "JOB_STATE_FAILED", + 6: "JOB_STATE_CANCELLING", + 7: "JOB_STATE_CANCELLED", + 8: "JOB_STATE_PAUSED", + 9: "JOB_STATE_EXPIRED", + 10: "JOB_STATE_UPDATING", + 11: "JOB_STATE_PARTIALLY_SUCCEEDED", + } + JobState_value = map[string]int32{ + "JOB_STATE_UNSPECIFIED": 0, + "JOB_STATE_QUEUED": 1, + "JOB_STATE_PENDING": 2, + "JOB_STATE_RUNNING": 3, + "JOB_STATE_SUCCEEDED": 4, + "JOB_STATE_FAILED": 5, + "JOB_STATE_CANCELLING": 6, + "JOB_STATE_CANCELLED": 7, + "JOB_STATE_PAUSED": 8, + "JOB_STATE_EXPIRED": 9, + "JOB_STATE_UPDATING": 10, + "JOB_STATE_PARTIALLY_SUCCEEDED": 11, + } +) + +func (x JobState) Enum() *JobState { + p := new(JobState) + *p = x + return p +} + +func (x JobState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JobState) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_enumTypes[0].Descriptor() +} + +func (JobState) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_enumTypes[0] +} + +func (x JobState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JobState.Descriptor instead. +func (JobState) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescGZIP(), []int{0} +} + +var File_mockgcp_cloud_aiplatform_v1beta1_job_state_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2a, 0xb3, 0x02, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, + 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, + 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, + 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x42, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, + 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x09, 0x12, + 0x16, 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x4a, 0x4f, 0x42, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x0b, 0x42, 0xe5, 0x01, 0x0a, 0x24, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x42, 0x0d, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_goTypes = []interface{}{ + (JobState)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.JobState +} +var file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_job_state_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_enumTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_job_state_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/lineage_subgraph.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/lineage_subgraph.pb.go new file mode 100644 index 0000000000..6a5f2005fb --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/lineage_subgraph.pb.go @@ -0,0 +1,225 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/lineage_subgraph.proto + +package aiplatformpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A subgraph of the overall lineage graph. Event edges connect Artifact and +// Execution nodes. +type LineageSubgraph struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Artifact nodes in the subgraph. + Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` + // The Execution nodes in the subgraph. + Executions []*Execution `protobuf:"bytes,2,rep,name=executions,proto3" json:"executions,omitempty"` + // The Event edges between Artifacts and Executions in the subgraph. + Events []*Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *LineageSubgraph) Reset() { + *x = LineageSubgraph{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LineageSubgraph) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LineageSubgraph) ProtoMessage() {} + +func (x *LineageSubgraph) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_msgTypes[0] + 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 LineageSubgraph.ProtoReflect.Descriptor instead. +func (*LineageSubgraph) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescGZIP(), []int{0} +} + +func (x *LineageSubgraph) GetArtifacts() []*Artifact { + if x != nil { + return x.Artifacts + } + return nil +} + +func (x *LineageSubgraph) GetExecutions() []*Execution { + if x != nil { + return x.Executions + } + return nil +} + +func (x *LineageSubgraph) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2f, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x01, 0x0a, + 0x0f, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x12, 0x48, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x14, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_goTypes = []interface{}{ + (*LineageSubgraph)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph + (*Artifact)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Artifact + (*Execution)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Execution + (*Event)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.Event +} +var file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph.artifacts:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph.executions:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph.events:type_name -> mockgcp.cloud.aiplatform.v1beta1.Event + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LineageSubgraph); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.go new file mode 100644 index 0000000000..cae5eeeedf --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.go @@ -0,0 +1,384 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for ComputeTokens RPC call. +type ComputeTokensRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to get lists of tokens and + // token ids. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The instances that are the input to token computing API call. + // Schema is identical to the prediction schema of the text model, even for + // the non-text models, like chat models, or Codey models. + Instances []*_struct.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` +} + +func (x *ComputeTokensRequest) Reset() { + *x = ComputeTokensRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeTokensRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeTokensRequest) ProtoMessage() {} + +func (x *ComputeTokensRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[0] + 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 ComputeTokensRequest.ProtoReflect.Descriptor instead. +func (*ComputeTokensRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ComputeTokensRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ComputeTokensRequest) GetInstances() []*_struct.Value { + if x != nil { + return x.Instances + } + return nil +} + +// Tokens info with a list of tokens and the corresponding list of token ids. +type TokensInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of tokens from the input. + Tokens [][]byte `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` + // A list of token ids from the input. + TokenIds []int64 `protobuf:"varint,2,rep,packed,name=token_ids,json=tokenIds,proto3" json:"token_ids,omitempty"` +} + +func (x *TokensInfo) Reset() { + *x = TokensInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokensInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokensInfo) ProtoMessage() {} + +func (x *TokensInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[1] + 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 TokensInfo.ProtoReflect.Descriptor instead. +func (*TokensInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescGZIP(), []int{1} +} + +func (x *TokensInfo) GetTokens() [][]byte { + if x != nil { + return x.Tokens + } + return nil +} + +func (x *TokensInfo) GetTokenIds() []int64 { + if x != nil { + return x.TokenIds + } + return nil +} + +// Response message for ComputeTokens RPC call. +type ComputeTokensResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Lists of tokens info from the input. A ComputeTokensRequest could have + // multiple instances with a prompt in each instance. We also need to return + // lists of tokens info for the request with multiple instances. + TokensInfo []*TokensInfo `protobuf:"bytes,1,rep,name=tokens_info,json=tokensInfo,proto3" json:"tokens_info,omitempty"` +} + +func (x *ComputeTokensResponse) Reset() { + *x = ComputeTokensResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeTokensResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeTokensResponse) ProtoMessage() {} + +func (x *ComputeTokensResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_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 ComputeTokensResponse.ProtoReflect.Descriptor instead. +func (*ComputeTokensResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ComputeTokensResponse) GetTokensInfo() []*TokensInfo { + if x != nil { + return x.TokensInfo + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDesc = []byte{ + 0x0a, 0x3a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6c, 0x6c, 0x6d, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x99, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x0a, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x66, + 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0xa2, 0x03, 0x0a, 0x11, 0x4c, 0x6c, 0x6d, 0x55, 0x74, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbd, 0x02, 0x0a, + 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x36, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xba, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, + 0x01, 0x2a, 0x5a, 0x53, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x4d, 0xca, 0x41, + 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xee, 0x01, 0x0a, 0x24, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x4c, 0x6c, 0x6d, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_goTypes = []interface{}{ + (*ComputeTokensRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.ComputeTokensRequest + (*TokensInfo)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.TokensInfo + (*ComputeTokensResponse)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ComputeTokensResponse + (*_struct.Value)(nil), // 3: google.protobuf.Value +} +var file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_depIdxs = []int32{ + 3, // 0: mockgcp.cloud.aiplatform.v1beta1.ComputeTokensRequest.instances:type_name -> google.protobuf.Value + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.ComputeTokensResponse.tokens_info:type_name -> mockgcp.cloud.aiplatform.v1beta1.TokensInfo + 0, // 2: mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService.ComputeTokens:input_type -> mockgcp.cloud.aiplatform.v1beta1.ComputeTokensRequest + 2, // 3: mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService.ComputeTokens:output_type -> mockgcp.cloud.aiplatform.v1beta1.ComputeTokensResponse + 3, // [3:4] is the sub-list for method output_type + 2, // [2:3] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeTokensRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokensInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeTokensResponse); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_llm_utility_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.gw.go new file mode 100644 index 0000000000..da81ba446c --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.pb.gw.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_LlmUtilityService_ComputeTokens_0(ctx context.Context, marshaler runtime.Marshaler, client LlmUtilityServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ComputeTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.ComputeTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_LlmUtilityService_ComputeTokens_0(ctx context.Context, marshaler runtime.Marshaler, server LlmUtilityServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ComputeTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.ComputeTokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_LlmUtilityService_ComputeTokens_1(ctx context.Context, marshaler runtime.Marshaler, client LlmUtilityServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ComputeTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.ComputeTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_LlmUtilityService_ComputeTokens_1(ctx context.Context, marshaler runtime.Marshaler, server LlmUtilityServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ComputeTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.ComputeTokens(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterLlmUtilityServiceHandlerServer registers the http handlers for service LlmUtilityService to "mux". +// UnaryRPC :call LlmUtilityServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterLlmUtilityServiceHandlerFromEndpoint instead. +func RegisterLlmUtilityServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server LlmUtilityServiceServer) error { + + mux.Handle("POST", pattern_LlmUtilityService_ComputeTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:computeTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_LlmUtilityService_ComputeTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_LlmUtilityService_ComputeTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_LlmUtilityService_ComputeTokens_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:computeTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_LlmUtilityService_ComputeTokens_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_LlmUtilityService_ComputeTokens_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterLlmUtilityServiceHandlerFromEndpoint is same as RegisterLlmUtilityServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterLlmUtilityServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterLlmUtilityServiceHandler(ctx, mux, conn) +} + +// RegisterLlmUtilityServiceHandler registers the http handlers for service LlmUtilityService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterLlmUtilityServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterLlmUtilityServiceHandlerClient(ctx, mux, NewLlmUtilityServiceClient(conn)) +} + +// RegisterLlmUtilityServiceHandlerClient registers the http handlers for service LlmUtilityService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "LlmUtilityServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "LlmUtilityServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "LlmUtilityServiceClient" to call the correct interceptors. +func RegisterLlmUtilityServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client LlmUtilityServiceClient) error { + + mux.Handle("POST", pattern_LlmUtilityService_ComputeTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:computeTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_LlmUtilityService_ComputeTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_LlmUtilityService_ComputeTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_LlmUtilityService_ComputeTokens_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:computeTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_LlmUtilityService_ComputeTokens_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_LlmUtilityService_ComputeTokens_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_LlmUtilityService_ComputeTokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "computeTokens")) + + pattern_LlmUtilityService_ComputeTokens_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "endpoint"}, "computeTokens")) +) + +var ( + forward_LlmUtilityService_ComputeTokens_0 = runtime.ForwardResponseMessage + + forward_LlmUtilityService_ComputeTokens_1 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service_grpc.pb.go new file mode 100644 index 0000000000..9d96aa78b2 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/llm_utility_service_grpc.pb.go @@ -0,0 +1,107 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.proto + +package aiplatformpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// LlmUtilityServiceClient is the client API for LlmUtilityService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type LlmUtilityServiceClient interface { + // Return a list of tokens based on the input text. + ComputeTokens(ctx context.Context, in *ComputeTokensRequest, opts ...grpc.CallOption) (*ComputeTokensResponse, error) +} + +type llmUtilityServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewLlmUtilityServiceClient(cc grpc.ClientConnInterface) LlmUtilityServiceClient { + return &llmUtilityServiceClient{cc} +} + +func (c *llmUtilityServiceClient) ComputeTokens(ctx context.Context, in *ComputeTokensRequest, opts ...grpc.CallOption) (*ComputeTokensResponse, error) { + out := new(ComputeTokensResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// LlmUtilityServiceServer is the server API for LlmUtilityService service. +// All implementations must embed UnimplementedLlmUtilityServiceServer +// for forward compatibility +type LlmUtilityServiceServer interface { + // Return a list of tokens based on the input text. + ComputeTokens(context.Context, *ComputeTokensRequest) (*ComputeTokensResponse, error) + mustEmbedUnimplementedLlmUtilityServiceServer() +} + +// UnimplementedLlmUtilityServiceServer must be embedded to have forward compatible implementations. +type UnimplementedLlmUtilityServiceServer struct { +} + +func (UnimplementedLlmUtilityServiceServer) ComputeTokens(context.Context, *ComputeTokensRequest) (*ComputeTokensResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ComputeTokens not implemented") +} +func (UnimplementedLlmUtilityServiceServer) mustEmbedUnimplementedLlmUtilityServiceServer() {} + +// UnsafeLlmUtilityServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to LlmUtilityServiceServer will +// result in compilation errors. +type UnsafeLlmUtilityServiceServer interface { + mustEmbedUnimplementedLlmUtilityServiceServer() +} + +func RegisterLlmUtilityServiceServer(s grpc.ServiceRegistrar, srv LlmUtilityServiceServer) { + s.RegisterService(&LlmUtilityService_ServiceDesc, srv) +} + +func _LlmUtilityService_ComputeTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ComputeTokensRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LlmUtilityServiceServer).ComputeTokens(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService/ComputeTokens", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LlmUtilityServiceServer).ComputeTokens(ctx, req.(*ComputeTokensRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// LlmUtilityService_ServiceDesc is the grpc.ServiceDesc for LlmUtilityService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var LlmUtilityService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.LlmUtilityService", + HandlerType: (*LlmUtilityServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ComputeTokens", + Handler: _LlmUtilityService_ComputeTokens_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/llm_utility_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/machine_resources.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/machine_resources.pb.go new file mode 100644 index 0000000000..6224cf94f7 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/machine_resources.pb.go @@ -0,0 +1,992 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/machine_resources.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specification of a single machine. +type MachineSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The type of the machine. + // + // See the [list of machine types supported for + // prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) + // + // See the [list of machine types supported for custom + // training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). + // + // For [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] this + // field is optional, and the default value is `n1-standard-2`. For + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob] or + // as part of [WorkerPoolSpec][mockgcp.cloud.aiplatform.v1beta1.WorkerPoolSpec] + // this field is required. + MachineType string `protobuf:"bytes,1,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` + // Immutable. The type of accelerator(s) that may be attached to the machine + // as per + // [accelerator_count][mockgcp.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count]. + AcceleratorType AcceleratorType `protobuf:"varint,2,opt,name=accelerator_type,json=acceleratorType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.AcceleratorType" json:"accelerator_type,omitempty"` + // The number of accelerators to attach to the machine. + AcceleratorCount int32 `protobuf:"varint,3,opt,name=accelerator_count,json=acceleratorCount,proto3" json:"accelerator_count,omitempty"` + // Immutable. The topology of the TPUs. Corresponds to the TPU topologies + // available from GKE. (Example: tpu_topology: "2x2x1"). + TpuTopology string `protobuf:"bytes,4,opt,name=tpu_topology,json=tpuTopology,proto3" json:"tpu_topology,omitempty"` +} + +func (x *MachineSpec) Reset() { + *x = MachineSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MachineSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MachineSpec) ProtoMessage() {} + +func (x *MachineSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[0] + 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 MachineSpec.ProtoReflect.Descriptor instead. +func (*MachineSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *MachineSpec) GetMachineType() string { + if x != nil { + return x.MachineType + } + return "" +} + +func (x *MachineSpec) GetAcceleratorType() AcceleratorType { + if x != nil { + return x.AcceleratorType + } + return AcceleratorType_ACCELERATOR_TYPE_UNSPECIFIED +} + +func (x *MachineSpec) GetAcceleratorCount() int32 { + if x != nil { + return x.AcceleratorCount + } + return 0 +} + +func (x *MachineSpec) GetTpuTopology() string { + if x != nil { + return x.TpuTopology + } + return "" +} + +// A description of resources that are dedicated to a DeployedModel, and +// that need a higher degree of manual configuration. +type DedicatedResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The specification of a single machine used by the + // prediction. + MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Required. Immutable. The minimum number of machine replicas this + // DeployedModel will be always deployed on. This value must be greater than + // or equal to 1. + // + // If traffic against the DeployedModel increases, it may dynamically be + // deployed onto more replicas, and as traffic decreases, some of these extra + // replicas may be freed. + MinReplicaCount int32 `protobuf:"varint,2,opt,name=min_replica_count,json=minReplicaCount,proto3" json:"min_replica_count,omitempty"` + // Immutable. The maximum number of replicas this DeployedModel may be + // deployed on when the traffic against it increases. If the requested value + // is too large, the deployment will error, but if deployment succeeds then + // the ability to scale the model to that many replicas is guaranteed (barring + // service outages). If traffic against the DeployedModel increases beyond + // what its replicas at maximum may handle, a portion of the traffic will be + // dropped. If this value is not provided, will use + // [min_replica_count][mockgcp.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] + // as the default value. + // + // The value of this field impacts the charge against Vertex CPU and GPU + // quotas. Specifically, you will be charged for (max_replica_count * + // number of cores in the selected machine type) and (max_replica_count * + // number of GPUs per replica in the selected machine type). + MaxReplicaCount int32 `protobuf:"varint,3,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` + // Immutable. The metric specifications that overrides a resource + // utilization metric (CPU utilization, accelerator's duty cycle, and so on) + // target value (default to 60 if not set). At most one entry is allowed per + // metric. + // + // If + // [machine_spec.accelerator_count][mockgcp.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] + // is above 0, the autoscaling will be based on both CPU utilization and + // accelerator's duty cycle metrics and scale up when either metrics exceeds + // its target value while scale down if both metrics are under their target + // value. The default target value is 60 for both metrics. + // + // If + // [machine_spec.accelerator_count][mockgcp.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] + // is 0, the autoscaling will be based on CPU utilization metric only with + // default target value 60 if not explicitly set. + // + // For example, in the case of Online Prediction, if you want to override + // target CPU utilization to 80, you should set + // [autoscaling_metric_specs.metric_name][mockgcp.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.metric_name] + // to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and + // [autoscaling_metric_specs.target][mockgcp.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.target] + // to `80`. + AutoscalingMetricSpecs []*AutoscalingMetricSpec `protobuf:"bytes,4,rep,name=autoscaling_metric_specs,json=autoscalingMetricSpecs,proto3" json:"autoscaling_metric_specs,omitempty"` +} + +func (x *DedicatedResources) Reset() { + *x = DedicatedResources{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DedicatedResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DedicatedResources) ProtoMessage() {} + +func (x *DedicatedResources) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[1] + 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 DedicatedResources.ProtoReflect.Descriptor instead. +func (*DedicatedResources) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{1} +} + +func (x *DedicatedResources) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *DedicatedResources) GetMinReplicaCount() int32 { + if x != nil { + return x.MinReplicaCount + } + return 0 +} + +func (x *DedicatedResources) GetMaxReplicaCount() int32 { + if x != nil { + return x.MaxReplicaCount + } + return 0 +} + +func (x *DedicatedResources) GetAutoscalingMetricSpecs() []*AutoscalingMetricSpec { + if x != nil { + return x.AutoscalingMetricSpecs + } + return nil +} + +// A description of resources that to large degree are decided by Vertex AI, +// and require only a modest additional configuration. +// Each Model supporting these resources documents its specific guidelines. +type AutomaticResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The minimum number of replicas this DeployedModel will be always + // deployed on. If traffic against it increases, it may dynamically be + // deployed onto more replicas up to + // [max_replica_count][mockgcp.cloud.aiplatform.v1beta1.AutomaticResources.max_replica_count], + // and as traffic decreases, some of these extra replicas may be freed. If the + // requested value is too large, the deployment will error. + MinReplicaCount int32 `protobuf:"varint,1,opt,name=min_replica_count,json=minReplicaCount,proto3" json:"min_replica_count,omitempty"` + // Immutable. The maximum number of replicas this DeployedModel may be + // deployed on when the traffic against it increases. If the requested value + // is too large, the deployment will error, but if deployment succeeds then + // the ability to scale the model to that many replicas is guaranteed (barring + // service outages). If traffic against the DeployedModel increases beyond + // what its replicas at maximum may handle, a portion of the traffic will be + // dropped. If this value is not provided, a no upper bound for scaling under + // heavy traffic will be assume, though Vertex AI may be unable to scale + // beyond certain replica number. + MaxReplicaCount int32 `protobuf:"varint,2,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` +} + +func (x *AutomaticResources) Reset() { + *x = AutomaticResources{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutomaticResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutomaticResources) ProtoMessage() {} + +func (x *AutomaticResources) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_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 AutomaticResources.ProtoReflect.Descriptor instead. +func (*AutomaticResources) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{2} +} + +func (x *AutomaticResources) GetMinReplicaCount() int32 { + if x != nil { + return x.MinReplicaCount + } + return 0 +} + +func (x *AutomaticResources) GetMaxReplicaCount() int32 { + if x != nil { + return x.MaxReplicaCount + } + return 0 +} + +// A description of resources that are used for performing batch operations, are +// dedicated to a Model, and need manual configuration. +type BatchDedicatedResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The specification of a single machine. + MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Immutable. The number of machine replicas used at the start of the batch + // operation. If not set, Vertex AI decides starting number, not greater than + // [max_replica_count][mockgcp.cloud.aiplatform.v1beta1.BatchDedicatedResources.max_replica_count] + StartingReplicaCount int32 `protobuf:"varint,2,opt,name=starting_replica_count,json=startingReplicaCount,proto3" json:"starting_replica_count,omitempty"` + // Immutable. The maximum number of machine replicas the batch operation may + // be scaled to. The default value is 10. + MaxReplicaCount int32 `protobuf:"varint,3,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` +} + +func (x *BatchDedicatedResources) Reset() { + *x = BatchDedicatedResources{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchDedicatedResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchDedicatedResources) ProtoMessage() {} + +func (x *BatchDedicatedResources) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[3] + 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 BatchDedicatedResources.ProtoReflect.Descriptor instead. +func (*BatchDedicatedResources) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{3} +} + +func (x *BatchDedicatedResources) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *BatchDedicatedResources) GetStartingReplicaCount() int32 { + if x != nil { + return x.StartingReplicaCount + } + return 0 +} + +func (x *BatchDedicatedResources) GetMaxReplicaCount() int32 { + if x != nil { + return x.MaxReplicaCount + } + return 0 +} + +// Statistics information about resource consumption. +type ResourcesConsumed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The number of replica hours used. Note that many replicas may + // run in parallel, and additionally any given work may be queued for some + // time. Therefore this value is not strictly related to wall time. + ReplicaHours float64 `protobuf:"fixed64,1,opt,name=replica_hours,json=replicaHours,proto3" json:"replica_hours,omitempty"` +} + +func (x *ResourcesConsumed) Reset() { + *x = ResourcesConsumed{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourcesConsumed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcesConsumed) ProtoMessage() {} + +func (x *ResourcesConsumed) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[4] + 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 ResourcesConsumed.ProtoReflect.Descriptor instead. +func (*ResourcesConsumed) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{4} +} + +func (x *ResourcesConsumed) GetReplicaHours() float64 { + if x != nil { + return x.ReplicaHours + } + return 0 +} + +// Represents the spec of disk options. +type DiskSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the boot disk (default is "pd-ssd"). + // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) or + // "pd-standard" (Persistent Disk Hard Disk Drive). + BootDiskType string `protobuf:"bytes,1,opt,name=boot_disk_type,json=bootDiskType,proto3" json:"boot_disk_type,omitempty"` + // Size in GB of the boot disk (default is 100GB). + BootDiskSizeGb int32 `protobuf:"varint,2,opt,name=boot_disk_size_gb,json=bootDiskSizeGb,proto3" json:"boot_disk_size_gb,omitempty"` +} + +func (x *DiskSpec) Reset() { + *x = DiskSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiskSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskSpec) ProtoMessage() {} + +func (x *DiskSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] + 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 DiskSpec.ProtoReflect.Descriptor instead. +func (*DiskSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{5} +} + +func (x *DiskSpec) GetBootDiskType() string { + if x != nil { + return x.BootDiskType + } + return "" +} + +func (x *DiskSpec) GetBootDiskSizeGb() int32 { + if x != nil { + return x.BootDiskSizeGb + } + return 0 +} + +// Represents the spec of [persistent +// disk][https://cloud.google.com/compute/docs/disks/persistent-disks] options. +type PersistentDiskSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the disk (default is "pd-standard"). + // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) + // "pd-standard" (Persistent Disk Hard Disk Drive) + // "pd-balanced" (Balanced Persistent Disk) + // "pd-extreme" (Extreme Persistent Disk) + DiskType string `protobuf:"bytes,1,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` + // Size in GB of the disk (default is 100GB). + DiskSizeGb int64 `protobuf:"varint,2,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"` +} + +func (x *PersistentDiskSpec) Reset() { + *x = PersistentDiskSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersistentDiskSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersistentDiskSpec) ProtoMessage() {} + +func (x *PersistentDiskSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_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 PersistentDiskSpec.ProtoReflect.Descriptor instead. +func (*PersistentDiskSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{6} +} + +func (x *PersistentDiskSpec) GetDiskType() string { + if x != nil { + return x.DiskType + } + return "" +} + +func (x *PersistentDiskSpec) GetDiskSizeGb() int64 { + if x != nil { + return x.DiskSizeGb + } + return 0 +} + +// Represents a mount configuration for Network File System (NFS) to mount. +type NfsMount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. IP address of the NFS server. + Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` + // Required. Source path exported from NFS server. + // Has to start with '/', and combined with the ip address, it indicates + // the source mount path in the form of `server:path` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + // Required. Destination mount path. The NFS will be mounted for the user + // under /mnt/nfs/ + MountPoint string `protobuf:"bytes,3,opt,name=mount_point,json=mountPoint,proto3" json:"mount_point,omitempty"` +} + +func (x *NfsMount) Reset() { + *x = NfsMount{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NfsMount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NfsMount) ProtoMessage() {} + +func (x *NfsMount) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[7] + 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 NfsMount.ProtoReflect.Descriptor instead. +func (*NfsMount) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{7} +} + +func (x *NfsMount) GetServer() string { + if x != nil { + return x.Server + } + return "" +} + +func (x *NfsMount) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *NfsMount) GetMountPoint() string { + if x != nil { + return x.MountPoint + } + return "" +} + +// The metric specification that defines the target resource utilization +// (CPU utilization, accelerator's duty cycle, and so on) for calculating the +// desired replica count. +type AutoscalingMetricSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource metric name. + // Supported metrics: + // + // * For Online Prediction: + // * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` + // * `aiplatform.googleapis.com/prediction/online/cpu/utilization` + MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` + // The target resource utilization in percentage (1% - 100%) for the given + // metric; once the real usage deviates from the target by a certain + // percentage, the machine replicas change. The default value is 60 + // (representing 60%) if not provided. + Target int32 `protobuf:"varint,2,opt,name=target,proto3" json:"target,omitempty"` +} + +func (x *AutoscalingMetricSpec) Reset() { + *x = AutoscalingMetricSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AutoscalingMetricSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutoscalingMetricSpec) ProtoMessage() {} + +func (x *AutoscalingMetricSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_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 AutoscalingMetricSpec.ProtoReflect.Descriptor instead. +func (*AutoscalingMetricSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{8} +} + +func (x *AutoscalingMetricSpec) GetMetricName() string { + if x != nil { + return x.MetricName + } + return "" +} + +func (x *AutoscalingMetricSpec) GetTarget() int32 { + if x != nil { + return x.Target + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x37, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x61, + 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x63, + 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x74, 0x70, 0x75, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x74, 0x70, 0x75, 0x54, 0x6f, + 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0xcb, 0x02, 0x0a, 0x12, 0x44, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x58, 0x0a, + 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x76, 0x0a, 0x18, + 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, + 0x70, 0x65, 0x63, 0x73, 0x22, 0x76, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x69, + 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xdf, 0x01, 0x0a, + 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, + 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, + 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, + 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x68, + 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x5b, 0x0a, + 0x08, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x29, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x74, + 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x22, 0x53, 0x0a, 0x12, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x22, + 0x66, 0x0a, 0x08, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0xed, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = []interface{}{ + (*MachineSpec)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.MachineSpec + (*DedicatedResources)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + (*AutomaticResources)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + (*BatchDedicatedResources)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.BatchDedicatedResources + (*ResourcesConsumed)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ResourcesConsumed + (*DiskSpec)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DiskSpec + (*PersistentDiskSpec)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.PersistentDiskSpec + (*NfsMount)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.NfsMount + (*AutoscalingMetricSpec)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.AutoscalingMetricSpec + (AcceleratorType)(0), // 9: mockgcp.cloud.aiplatform.v1beta1.AcceleratorType +} +var file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = []int32{ + 9, // 0: mockgcp.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.AcceleratorType + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources.machine_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.MachineSpec + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.AutoscalingMetricSpec + 0, // 3: mockgcp.cloud.aiplatform.v1beta1.BatchDedicatedResources.machine_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.MachineSpec + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_accelerator_type_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MachineSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DedicatedResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutomaticResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchDedicatedResources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourcesConsumed); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiskSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersistentDiskSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NfsMount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutoscalingMetricSpec); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.pb.go new file mode 100644 index 0000000000..157596d4aa --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.pb.go @@ -0,0 +1,188 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Manual batch tuning parameters. +type ManualBatchTuningParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The number of the records (e.g. instances) of the operation + // given in each batch to a machine replica. Machine type, and size of a + // single record should be considered when setting this parameter, higher + // value speeds up the batch operation's execution, but too high value will + // result in a whole batch not fitting in a machine's memory, and the whole + // operation will fail. + // The default value is 64. + BatchSize int32 `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"` +} + +func (x *ManualBatchTuningParameters) Reset() { + *x = ManualBatchTuningParameters{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ManualBatchTuningParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ManualBatchTuningParameters) ProtoMessage() {} + +func (x *ManualBatchTuningParameters) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_msgTypes[0] + 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 ManualBatchTuningParameters.ProtoReflect.Descriptor instead. +func (*ManualBatchTuningParameters) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescGZIP(), []int{0} +} + +func (x *ManualBatchTuningParameters) GetBatchSize() int32 { + if x != nil { + return x.BatchSize + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDesc = []byte{ + 0x0a, 0x45, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x61, + 0x6e, 0x75, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x42, 0xf8, 0x01, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x20, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_goTypes = []interface{}{ + (*ManualBatchTuningParameters)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.ManualBatchTuningParameters +} +var file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ManualBatchTuningParameters); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_manual_batch_tuning_parameters_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.go new file mode 100644 index 0000000000..f450a9312a --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.go @@ -0,0 +1,821 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/match_service.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The request message for +// [MatchService.FindNeighbors][mockgcp.cloud.aiplatform.v1beta1.MatchService.FindNeighbors]. +type FindNeighborsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the index endpoint. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // The ID of the DeployedIndex that will serve the request. This request is + // sent to a specific IndexEndpoint, as per the IndexEndpoint.network. That + // IndexEndpoint also has IndexEndpoint.deployed_indexes, and each such index + // has a DeployedIndex.id field. + // The value of the field below must equal one of the DeployedIndex.id + // fields of the IndexEndpoint that is being called for this request. + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` + // The list of queries. + Queries []*FindNeighborsRequest_Query `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` + // If set to true, the full datapoints (including all vector values and + // restricts) of the nearest neighbors are returned. + // Note that returning full datapoint will significantly increase the + // latency and cost of the query. + ReturnFullDatapoint bool `protobuf:"varint,4,opt,name=return_full_datapoint,json=returnFullDatapoint,proto3" json:"return_full_datapoint,omitempty"` +} + +func (x *FindNeighborsRequest) Reset() { + *x = FindNeighborsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNeighborsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNeighborsRequest) ProtoMessage() {} + +func (x *FindNeighborsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[0] + 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 FindNeighborsRequest.ProtoReflect.Descriptor instead. +func (*FindNeighborsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{0} +} + +func (x *FindNeighborsRequest) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *FindNeighborsRequest) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +func (x *FindNeighborsRequest) GetQueries() []*FindNeighborsRequest_Query { + if x != nil { + return x.Queries + } + return nil +} + +func (x *FindNeighborsRequest) GetReturnFullDatapoint() bool { + if x != nil { + return x.ReturnFullDatapoint + } + return false +} + +// The response message for +// [MatchService.FindNeighbors][mockgcp.cloud.aiplatform.v1beta1.MatchService.FindNeighbors]. +type FindNeighborsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The nearest neighbors of the query datapoints. + NearestNeighbors []*FindNeighborsResponse_NearestNeighbors `protobuf:"bytes,1,rep,name=nearest_neighbors,json=nearestNeighbors,proto3" json:"nearest_neighbors,omitempty"` +} + +func (x *FindNeighborsResponse) Reset() { + *x = FindNeighborsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNeighborsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNeighborsResponse) ProtoMessage() {} + +func (x *FindNeighborsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[1] + 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 FindNeighborsResponse.ProtoReflect.Descriptor instead. +func (*FindNeighborsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{1} +} + +func (x *FindNeighborsResponse) GetNearestNeighbors() []*FindNeighborsResponse_NearestNeighbors { + if x != nil { + return x.NearestNeighbors + } + return nil +} + +// The request message for +// [MatchService.ReadIndexDatapoints][mockgcp.cloud.aiplatform.v1beta1.MatchService.ReadIndexDatapoints]. +type ReadIndexDatapointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the index endpoint. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // The ID of the DeployedIndex that will serve the request. + DeployedIndexId string `protobuf:"bytes,2,opt,name=deployed_index_id,json=deployedIndexId,proto3" json:"deployed_index_id,omitempty"` + // IDs of the datapoints to be searched for. + Ids []string `protobuf:"bytes,3,rep,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *ReadIndexDatapointsRequest) Reset() { + *x = ReadIndexDatapointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadIndexDatapointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadIndexDatapointsRequest) ProtoMessage() {} + +func (x *ReadIndexDatapointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_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 ReadIndexDatapointsRequest.ProtoReflect.Descriptor instead. +func (*ReadIndexDatapointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ReadIndexDatapointsRequest) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *ReadIndexDatapointsRequest) GetDeployedIndexId() string { + if x != nil { + return x.DeployedIndexId + } + return "" +} + +func (x *ReadIndexDatapointsRequest) GetIds() []string { + if x != nil { + return x.Ids + } + return nil +} + +// The response message for +// [MatchService.ReadIndexDatapoints][mockgcp.cloud.aiplatform.v1beta1.MatchService.ReadIndexDatapoints]. +type ReadIndexDatapointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result list of datapoints. + Datapoints []*IndexDatapoint `protobuf:"bytes,1,rep,name=datapoints,proto3" json:"datapoints,omitempty"` +} + +func (x *ReadIndexDatapointsResponse) Reset() { + *x = ReadIndexDatapointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadIndexDatapointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadIndexDatapointsResponse) ProtoMessage() {} + +func (x *ReadIndexDatapointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[3] + 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 ReadIndexDatapointsResponse.ProtoReflect.Descriptor instead. +func (*ReadIndexDatapointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ReadIndexDatapointsResponse) GetDatapoints() []*IndexDatapoint { + if x != nil { + return x.Datapoints + } + return nil +} + +// A query to find a number of the nearest neighbors (most similar vectors) +// of a vector. +type FindNeighborsRequest_Query struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The datapoint/vector whose nearest neighbors should be searched + // for. + Datapoint *IndexDatapoint `protobuf:"bytes,1,opt,name=datapoint,proto3" json:"datapoint,omitempty"` + // The number of nearest neighbors to be retrieved from database for each + // query. If not set, will use the default from the service configuration + // (https://cloud.google.com/vertex-ai/docs/matching-engine/configuring-indexes#nearest-neighbor-search-config). + NeighborCount int32 `protobuf:"varint,2,opt,name=neighbor_count,json=neighborCount,proto3" json:"neighbor_count,omitempty"` + // Crowding is a constraint on a neighbor list produced by nearest neighbor + // search requiring that no more than some value k' of the k neighbors + // returned have the same value of crowding_attribute. + // It's used for improving result diversity. + // This field is the maximum number of matches with the same crowding tag. + PerCrowdingAttributeNeighborCount int32 `protobuf:"varint,3,opt,name=per_crowding_attribute_neighbor_count,json=perCrowdingAttributeNeighborCount,proto3" json:"per_crowding_attribute_neighbor_count,omitempty"` + // The number of neighbors to find via approximate search before + // exact reordering is performed. If not set, the default value from scam + // config is used; if set, this value must be > 0. + ApproximateNeighborCount int32 `protobuf:"varint,4,opt,name=approximate_neighbor_count,json=approximateNeighborCount,proto3" json:"approximate_neighbor_count,omitempty"` + // The fraction of the number of leaves to search, set at query time allows + // user to tune search performance. This value increase result in both + // search accuracy and latency increase. The value should be between 0.0 + // and 1.0. If not set or set to 0.0, query uses the default value specified + // in + // NearestNeighborSearchConfig.TreeAHConfig.fraction_leaf_nodes_to_search. + FractionLeafNodesToSearchOverride float64 `protobuf:"fixed64,5,opt,name=fraction_leaf_nodes_to_search_override,json=fractionLeafNodesToSearchOverride,proto3" json:"fraction_leaf_nodes_to_search_override,omitempty"` +} + +func (x *FindNeighborsRequest_Query) Reset() { + *x = FindNeighborsRequest_Query{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNeighborsRequest_Query) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNeighborsRequest_Query) ProtoMessage() {} + +func (x *FindNeighborsRequest_Query) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[4] + 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 FindNeighborsRequest_Query.ProtoReflect.Descriptor instead. +func (*FindNeighborsRequest_Query) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *FindNeighborsRequest_Query) GetDatapoint() *IndexDatapoint { + if x != nil { + return x.Datapoint + } + return nil +} + +func (x *FindNeighborsRequest_Query) GetNeighborCount() int32 { + if x != nil { + return x.NeighborCount + } + return 0 +} + +func (x *FindNeighborsRequest_Query) GetPerCrowdingAttributeNeighborCount() int32 { + if x != nil { + return x.PerCrowdingAttributeNeighborCount + } + return 0 +} + +func (x *FindNeighborsRequest_Query) GetApproximateNeighborCount() int32 { + if x != nil { + return x.ApproximateNeighborCount + } + return 0 +} + +func (x *FindNeighborsRequest_Query) GetFractionLeafNodesToSearchOverride() float64 { + if x != nil { + return x.FractionLeafNodesToSearchOverride + } + return 0 +} + +// A neighbor of the query vector. +type FindNeighborsResponse_Neighbor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The datapoint of the neighbor. + // Note that full datapoints are returned only when "return_full_datapoint" + // is set to true. Otherwise, only the "datapoint_id" and "crowding_tag" + // fields are populated. + Datapoint *IndexDatapoint `protobuf:"bytes,1,opt,name=datapoint,proto3" json:"datapoint,omitempty"` + // The distance between the neighbor and the query vector. + Distance float64 `protobuf:"fixed64,2,opt,name=distance,proto3" json:"distance,omitempty"` +} + +func (x *FindNeighborsResponse_Neighbor) Reset() { + *x = FindNeighborsResponse_Neighbor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNeighborsResponse_Neighbor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNeighborsResponse_Neighbor) ProtoMessage() {} + +func (x *FindNeighborsResponse_Neighbor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[5] + 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 FindNeighborsResponse_Neighbor.ProtoReflect.Descriptor instead. +func (*FindNeighborsResponse_Neighbor) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *FindNeighborsResponse_Neighbor) GetDatapoint() *IndexDatapoint { + if x != nil { + return x.Datapoint + } + return nil +} + +func (x *FindNeighborsResponse_Neighbor) GetDistance() float64 { + if x != nil { + return x.Distance + } + return 0 +} + +// Nearest neighbors for one query. +type FindNeighborsResponse_NearestNeighbors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the query datapoint. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // All its neighbors. + Neighbors []*FindNeighborsResponse_Neighbor `protobuf:"bytes,2,rep,name=neighbors,proto3" json:"neighbors,omitempty"` +} + +func (x *FindNeighborsResponse_NearestNeighbors) Reset() { + *x = FindNeighborsResponse_NearestNeighbors{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FindNeighborsResponse_NearestNeighbors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FindNeighborsResponse_NearestNeighbors) ProtoMessage() {} + +func (x *FindNeighborsResponse_NearestNeighbors) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_match_service_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 FindNeighborsResponse_NearestNeighbors.ProtoReflect.Descriptor instead. +func (*FindNeighborsResponse_NearestNeighbors) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *FindNeighborsResponse_NearestNeighbors) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *FindNeighborsResponse_NearestNeighbors) GetNeighbors() []*FindNeighborsResponse_Neighbor { + if x != nil { + return x.Neighbors + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_match_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x05, 0x0a, 0x14, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x1a, 0xe6, 0x02, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x09, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x25, 0x70, 0x65, 0x72, 0x5f, + 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x21, 0x70, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x77, + 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x26, 0x66, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x21, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x65, 0x61, 0x66, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x54, 0x6f, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x8b, 0x03, 0x0a, 0x15, + 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x11, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, + 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, + 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x6e, 0x65, 0x61, 0x72, + 0x65, 0x73, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x1a, 0x76, 0x0a, 0x08, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x82, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5e, 0x0a, 0x09, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x09, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x1a, 0x52, 0x65, + 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0e, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x6f, + 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x32, + 0xb3, 0x04, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xdc, 0x01, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x22, 0x4f, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, + 0x69, 0x6e, 0x64, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x12, + 0xf4, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, + 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x55, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x72, 0x65, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xe9, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_goTypes = []interface{}{ + (*FindNeighborsRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest + (*FindNeighborsResponse)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse + (*ReadIndexDatapointsRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ReadIndexDatapointsRequest + (*ReadIndexDatapointsResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ReadIndexDatapointsResponse + (*FindNeighborsRequest_Query)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest.Query + (*FindNeighborsResponse_Neighbor)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.Neighbor + (*FindNeighborsResponse_NearestNeighbors)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.NearestNeighbors + (*IndexDatapoint)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint +} +var file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_depIdxs = []int32{ + 4, // 0: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest.queries:type_name -> mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest.Query + 6, // 1: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.nearest_neighbors:type_name -> mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.NearestNeighbors + 7, // 2: mockgcp.cloud.aiplatform.v1beta1.ReadIndexDatapointsResponse.datapoints:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + 7, // 3: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest.Query.datapoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + 7, // 4: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.Neighbor.datapoint:type_name -> mockgcp.cloud.aiplatform.v1beta1.IndexDatapoint + 5, // 5: mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.NearestNeighbors.neighbors:type_name -> mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse.Neighbor + 0, // 6: mockgcp.cloud.aiplatform.v1beta1.MatchService.FindNeighbors:input_type -> mockgcp.cloud.aiplatform.v1beta1.FindNeighborsRequest + 2, // 7: mockgcp.cloud.aiplatform.v1beta1.MatchService.ReadIndexDatapoints:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadIndexDatapointsRequest + 1, // 8: mockgcp.cloud.aiplatform.v1beta1.MatchService.FindNeighbors:output_type -> mockgcp.cloud.aiplatform.v1beta1.FindNeighborsResponse + 3, // 9: mockgcp.cloud.aiplatform.v1beta1.MatchService.ReadIndexDatapoints:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadIndexDatapointsResponse + 8, // [8:10] is the sub-list for method output_type + 6, // [6:8] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_match_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_index_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNeighborsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNeighborsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadIndexDatapointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadIndexDatapointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNeighborsRequest_Query); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNeighborsResponse_Neighbor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindNeighborsResponse_NearestNeighbors); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_match_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_match_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.gw.go new file mode 100644 index 0000000000..b275b5352b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service.pb.gw.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/match_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_MatchService_FindNeighbors_0(ctx context.Context, marshaler runtime.Marshaler, client MatchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FindNeighborsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := client.FindNeighbors(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MatchService_FindNeighbors_0(ctx context.Context, marshaler runtime.Marshaler, server MatchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq FindNeighborsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := server.FindNeighbors(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MatchService_ReadIndexDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, client MatchServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadIndexDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := client.ReadIndexDatapoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MatchService_ReadIndexDatapoints_0(ctx context.Context, marshaler runtime.Marshaler, server MatchServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadIndexDatapointsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["index_endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "index_endpoint") + } + + protoReq.IndexEndpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "index_endpoint", err) + } + + msg, err := server.ReadIndexDatapoints(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterMatchServiceHandlerServer registers the http handlers for service MatchService to "mux". +// UnaryRPC :call MatchServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterMatchServiceHandlerFromEndpoint instead. +func RegisterMatchServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MatchServiceServer) error { + + mux.Handle("POST", pattern_MatchService_FindNeighbors_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/FindNeighbors", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:findNeighbors")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MatchService_FindNeighbors_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MatchService_FindNeighbors_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MatchService_ReadIndexDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/ReadIndexDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:readIndexDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MatchService_ReadIndexDatapoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MatchService_ReadIndexDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterMatchServiceHandlerFromEndpoint is same as RegisterMatchServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterMatchServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterMatchServiceHandler(ctx, mux, conn) +} + +// RegisterMatchServiceHandler registers the http handlers for service MatchService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterMatchServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterMatchServiceHandlerClient(ctx, mux, NewMatchServiceClient(conn)) +} + +// RegisterMatchServiceHandlerClient registers the http handlers for service MatchService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MatchServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MatchServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "MatchServiceClient" to call the correct interceptors. +func RegisterMatchServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MatchServiceClient) error { + + mux.Handle("POST", pattern_MatchService_FindNeighbors_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/FindNeighbors", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:findNeighbors")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MatchService_FindNeighbors_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MatchService_FindNeighbors_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MatchService_ReadIndexDatapoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/ReadIndexDatapoints", runtime.WithHTTPPathPattern("/v1beta1/{index_endpoint=projects/*/locations/*/indexEndpoints/*}:readIndexDatapoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MatchService_ReadIndexDatapoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MatchService_ReadIndexDatapoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_MatchService_FindNeighbors_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint"}, "findNeighbors")) + + pattern_MatchService_ReadIndexDatapoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "indexEndpoints", "index_endpoint"}, "readIndexDatapoints")) +) + +var ( + forward_MatchService_FindNeighbors_0 = runtime.ForwardResponseMessage + + forward_MatchService_ReadIndexDatapoints_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service_grpc.pb.go new file mode 100644 index 0000000000..d57c5eee2c --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/match_service_grpc.pb.go @@ -0,0 +1,147 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/match_service.proto + +package aiplatformpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// MatchServiceClient is the client API for MatchService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MatchServiceClient interface { + // Finds the nearest neighbors of each vector within the request. + FindNeighbors(ctx context.Context, in *FindNeighborsRequest, opts ...grpc.CallOption) (*FindNeighborsResponse, error) + // Reads the datapoints/vectors of the given IDs. + // A maximum of 1000 datapoints can be retrieved in a batch. + ReadIndexDatapoints(ctx context.Context, in *ReadIndexDatapointsRequest, opts ...grpc.CallOption) (*ReadIndexDatapointsResponse, error) +} + +type matchServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewMatchServiceClient(cc grpc.ClientConnInterface) MatchServiceClient { + return &matchServiceClient{cc} +} + +func (c *matchServiceClient) FindNeighbors(ctx context.Context, in *FindNeighborsRequest, opts ...grpc.CallOption) (*FindNeighborsResponse, error) { + out := new(FindNeighborsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/FindNeighbors", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *matchServiceClient) ReadIndexDatapoints(ctx context.Context, in *ReadIndexDatapointsRequest, opts ...grpc.CallOption) (*ReadIndexDatapointsResponse, error) { + out := new(ReadIndexDatapointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MatchService/ReadIndexDatapoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MatchServiceServer is the server API for MatchService service. +// All implementations must embed UnimplementedMatchServiceServer +// for forward compatibility +type MatchServiceServer interface { + // Finds the nearest neighbors of each vector within the request. + FindNeighbors(context.Context, *FindNeighborsRequest) (*FindNeighborsResponse, error) + // Reads the datapoints/vectors of the given IDs. + // A maximum of 1000 datapoints can be retrieved in a batch. + ReadIndexDatapoints(context.Context, *ReadIndexDatapointsRequest) (*ReadIndexDatapointsResponse, error) + mustEmbedUnimplementedMatchServiceServer() +} + +// UnimplementedMatchServiceServer must be embedded to have forward compatible implementations. +type UnimplementedMatchServiceServer struct { +} + +func (UnimplementedMatchServiceServer) FindNeighbors(context.Context, *FindNeighborsRequest) (*FindNeighborsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindNeighbors not implemented") +} +func (UnimplementedMatchServiceServer) ReadIndexDatapoints(context.Context, *ReadIndexDatapointsRequest) (*ReadIndexDatapointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReadIndexDatapoints not implemented") +} +func (UnimplementedMatchServiceServer) mustEmbedUnimplementedMatchServiceServer() {} + +// UnsafeMatchServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MatchServiceServer will +// result in compilation errors. +type UnsafeMatchServiceServer interface { + mustEmbedUnimplementedMatchServiceServer() +} + +func RegisterMatchServiceServer(s grpc.ServiceRegistrar, srv MatchServiceServer) { + s.RegisterService(&MatchService_ServiceDesc, srv) +} + +func _MatchService_FindNeighbors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindNeighborsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MatchServiceServer).FindNeighbors(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MatchService/FindNeighbors", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MatchServiceServer).FindNeighbors(ctx, req.(*FindNeighborsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MatchService_ReadIndexDatapoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReadIndexDatapointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MatchServiceServer).ReadIndexDatapoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MatchService/ReadIndexDatapoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MatchServiceServer).ReadIndexDatapoints(ctx, req.(*ReadIndexDatapointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// MatchService_ServiceDesc is the grpc.ServiceDesc for MatchService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var MatchService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.MatchService", + HandlerType: (*MatchServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "FindNeighbors", + Handler: _MatchService_FindNeighbors_Handler, + }, + { + MethodName: "ReadIndexDatapoints", + Handler: _MatchService_ReadIndexDatapoints_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/match_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_schema.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_schema.pb.go new file mode 100644 index 0000000000..84a3e3de45 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_schema.pb.go @@ -0,0 +1,335 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/metadata_schema.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the type of the MetadataSchema. +type MetadataSchema_MetadataSchemaType int32 + +const ( + // Unspecified type for the MetadataSchema. + MetadataSchema_METADATA_SCHEMA_TYPE_UNSPECIFIED MetadataSchema_MetadataSchemaType = 0 + // A type indicating that the MetadataSchema will be used by Artifacts. + MetadataSchema_ARTIFACT_TYPE MetadataSchema_MetadataSchemaType = 1 + // A typee indicating that the MetadataSchema will be used by Executions. + MetadataSchema_EXECUTION_TYPE MetadataSchema_MetadataSchemaType = 2 + // A state indicating that the MetadataSchema will be used by Contexts. + MetadataSchema_CONTEXT_TYPE MetadataSchema_MetadataSchemaType = 3 +) + +// Enum value maps for MetadataSchema_MetadataSchemaType. +var ( + MetadataSchema_MetadataSchemaType_name = map[int32]string{ + 0: "METADATA_SCHEMA_TYPE_UNSPECIFIED", + 1: "ARTIFACT_TYPE", + 2: "EXECUTION_TYPE", + 3: "CONTEXT_TYPE", + } + MetadataSchema_MetadataSchemaType_value = map[string]int32{ + "METADATA_SCHEMA_TYPE_UNSPECIFIED": 0, + "ARTIFACT_TYPE": 1, + "EXECUTION_TYPE": 2, + "CONTEXT_TYPE": 3, + } +) + +func (x MetadataSchema_MetadataSchemaType) Enum() *MetadataSchema_MetadataSchemaType { + p := new(MetadataSchema_MetadataSchemaType) + *p = x + return p +} + +func (x MetadataSchema_MetadataSchemaType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetadataSchema_MetadataSchemaType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_enumTypes[0].Descriptor() +} + +func (MetadataSchema_MetadataSchemaType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_enumTypes[0] +} + +func (x MetadataSchema_MetadataSchemaType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MetadataSchema_MetadataSchemaType.Descriptor instead. +func (MetadataSchema_MetadataSchemaType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescGZIP(), []int{0, 0} +} + +// Instance of a general MetadataSchema. +type MetadataSchema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the MetadataSchema. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The version of the MetadataSchema. The version's format must match + // the following regular expression: `^[0-9]+[.][0-9]+[.][0-9]+$`, which would + // allow to order/compare different versions. Example: 1.0.0, 1.0.1, etc. + SchemaVersion string `protobuf:"bytes,2,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` + // Required. The raw YAML string representation of the MetadataSchema. The + // combination of [MetadataSchema.version] and the schema name given by + // `title` in [MetadataSchema.schema] must be unique within a MetadataStore. + // + // The schema is defined as an OpenAPI 3.0.2 + // [MetadataSchema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject) + Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` + // The type of the MetadataSchema. This is a property that identifies which + // metadata types will use the MetadataSchema. + SchemaType MetadataSchema_MetadataSchemaType `protobuf:"varint,4,opt,name=schema_type,json=schemaType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.MetadataSchema_MetadataSchemaType" json:"schema_type,omitempty"` + // Output only. Timestamp when this MetadataSchema was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Description of the Metadata Schema + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *MetadataSchema) Reset() { + *x = MetadataSchema{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetadataSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetadataSchema) ProtoMessage() {} + +func (x *MetadataSchema) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_msgTypes[0] + 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 MetadataSchema.ProtoReflect.Descriptor instead. +func (*MetadataSchema) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescGZIP(), []int{0} +} + +func (x *MetadataSchema) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MetadataSchema) GetSchemaVersion() string { + if x != nil { + return x.SchemaVersion + } + return "" +} + +func (x *MetadataSchema) GetSchema() string { + if x != nil { + return x.Schema + } + return "" +} + +func (x *MetadataSchema) GetSchemaType() MetadataSchema_MetadataSchemaType { + if x != nil { + return x.SchemaType + } + return MetadataSchema_METADATA_SCHEMA_TYPE_UNSPECIFIED +} + +func (x *MetadataSchema) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *MetadataSchema) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x22, 0xc8, 0x04, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x64, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x73, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x54, 0x41, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x3a, 0x99, 0x01, 0xea, 0x41, 0x95, 0x01, 0x0a, 0x28, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, + 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x7d, 0x42, 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_goTypes = []interface{}{ + (MetadataSchema_MetadataSchemaType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.MetadataSchema.MetadataSchemaType + (*MetadataSchema)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.MetadataSchema.schema_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataSchema.MetadataSchemaType + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.MetadataSchema.create_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataSchema); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.go new file mode 100644 index 0000000000..110958f933 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.go @@ -0,0 +1,5135 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/metadata_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [MetadataService.CreateMetadataStore][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. +type CreateMetadataStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location where the MetadataStore should + // be created. + // Format: `projects/{project}/locations/{location}/` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The MetadataStore to create. + MetadataStore *MetadataStore `protobuf:"bytes,2,opt,name=metadata_store,json=metadataStore,proto3" json:"metadata_store,omitempty"` + // The {metadatastore} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + // If not provided, the MetadataStore's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all MetadataStores in the parent Location. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting MetadataStore.) + MetadataStoreId string `protobuf:"bytes,3,opt,name=metadata_store_id,json=metadataStoreId,proto3" json:"metadata_store_id,omitempty"` +} + +func (x *CreateMetadataStoreRequest) Reset() { + *x = CreateMetadataStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMetadataStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMetadataStoreRequest) ProtoMessage() {} + +func (x *CreateMetadataStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[0] + 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 CreateMetadataStoreRequest.ProtoReflect.Descriptor instead. +func (*CreateMetadataStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateMetadataStoreRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateMetadataStoreRequest) GetMetadataStore() *MetadataStore { + if x != nil { + return x.MetadataStore + } + return nil +} + +func (x *CreateMetadataStoreRequest) GetMetadataStoreId() string { + if x != nil { + return x.MetadataStoreId + } + return "" +} + +// Details of operations that perform +// [MetadataService.CreateMetadataStore][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore]. +type CreateMetadataStoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for creating a MetadataStore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateMetadataStoreOperationMetadata) Reset() { + *x = CreateMetadataStoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMetadataStoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMetadataStoreOperationMetadata) ProtoMessage() {} + +func (x *CreateMetadataStoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[1] + 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 CreateMetadataStoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateMetadataStoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateMetadataStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [MetadataService.GetMetadataStore][mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore]. +type GetMetadataStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetMetadataStoreRequest) Reset() { + *x = GetMetadataStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetadataStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetadataStoreRequest) ProtoMessage() {} + +func (x *GetMetadataStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_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 GetMetadataStoreRequest.ProtoReflect.Descriptor instead. +func (*GetMetadataStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetMetadataStoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [MetadataService.ListMetadataStores][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. +type ListMetadataStoresRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Location whose MetadataStores should be listed. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of Metadata Stores to return. The service may return + // fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [MetadataService.ListMetadataStores][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListMetadataStoresRequest) Reset() { + *x = ListMetadataStoresRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMetadataStoresRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMetadataStoresRequest) ProtoMessage() {} + +func (x *ListMetadataStoresRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[3] + 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 ListMetadataStoresRequest.ProtoReflect.Descriptor instead. +func (*ListMetadataStoresRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListMetadataStoresRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListMetadataStoresRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListMetadataStoresRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [MetadataService.ListMetadataStores][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores]. +type ListMetadataStoresResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The MetadataStores found for the Location. + MetadataStores []*MetadataStore `protobuf:"bytes,1,rep,name=metadata_stores,json=metadataStores,proto3" json:"metadata_stores,omitempty"` + // A token, which can be sent as + // [ListMetadataStoresRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresRequest.page_token] + // to retrieve the next page. If this field is not populated, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListMetadataStoresResponse) Reset() { + *x = ListMetadataStoresResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMetadataStoresResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMetadataStoresResponse) ProtoMessage() {} + +func (x *ListMetadataStoresResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[4] + 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 ListMetadataStoresResponse.ProtoReflect.Descriptor instead. +func (*ListMetadataStoresResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListMetadataStoresResponse) GetMetadataStores() []*MetadataStore { + if x != nil { + return x.MetadataStores + } + return nil +} + +func (x *ListMetadataStoresResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MetadataService.DeleteMetadataStore][mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. +type DeleteMetadataStoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated: Field is no longer supported. + // + // Deprecated: Do not use. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteMetadataStoreRequest) Reset() { + *x = DeleteMetadataStoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMetadataStoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMetadataStoreRequest) ProtoMessage() {} + +func (x *DeleteMetadataStoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[5] + 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 DeleteMetadataStoreRequest.ProtoReflect.Descriptor instead. +func (*DeleteMetadataStoreRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteMetadataStoreRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Deprecated: Do not use. +func (x *DeleteMetadataStoreRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Details of operations that perform +// [MetadataService.DeleteMetadataStore][mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore]. +type DeleteMetadataStoreOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for deleting a MetadataStore. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *DeleteMetadataStoreOperationMetadata) Reset() { + *x = DeleteMetadataStoreOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMetadataStoreOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMetadataStoreOperationMetadata) ProtoMessage() {} + +func (x *DeleteMetadataStoreOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_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 DeleteMetadataStoreOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeleteMetadataStoreOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteMetadataStoreOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [MetadataService.CreateArtifact][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact]. +type CreateArtifactRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore where the Artifact should + // be created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Artifact to create. + Artifact *Artifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"` + // The {artifact} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + // If not provided, the Artifact's ID will be a UUID generated by the service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Artifacts in the parent MetadataStore. (Otherwise + // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the + // caller can't view the preexisting Artifact.) + ArtifactId string `protobuf:"bytes,3,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` +} + +func (x *CreateArtifactRequest) Reset() { + *x = CreateArtifactRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateArtifactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateArtifactRequest) ProtoMessage() {} + +func (x *CreateArtifactRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[7] + 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 CreateArtifactRequest.ProtoReflect.Descriptor instead. +func (*CreateArtifactRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateArtifactRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateArtifactRequest) GetArtifact() *Artifact { + if x != nil { + return x.Artifact + } + return nil +} + +func (x *CreateArtifactRequest) GetArtifactId() string { + if x != nil { + return x.ArtifactId + } + return "" +} + +// Request message for +// [MetadataService.GetArtifact][mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetArtifact]. +type GetArtifactRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Artifact to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetArtifactRequest) Reset() { + *x = GetArtifactRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtifactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtifactRequest) ProtoMessage() {} + +func (x *GetArtifactRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_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 GetArtifactRequest.ProtoReflect.Descriptor instead. +func (*GetArtifactRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{8} +} + +func (x *GetArtifactRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [MetadataService.ListArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. +type ListArtifactsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The MetadataStore whose Artifacts should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of Artifacts to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [MetadataService.ListArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter specifying the boolean condition for the Artifacts to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // The supported set of filters include the following: + // + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // - **Context based filtering**: + // To filter Artifacts based on the contexts to which they belong, use the + // function operator with the full resource name + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` + // + // Each of the above supported filter types can be combined together using + // logical operators (`AND` & `OR`). Maximum nested expression depth allowed + // is 5. + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListArtifactsRequest) Reset() { + *x = ListArtifactsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListArtifactsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListArtifactsRequest) ProtoMessage() {} + +func (x *ListArtifactsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[9] + 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 ListArtifactsRequest.ProtoReflect.Descriptor instead. +func (*ListArtifactsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListArtifactsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListArtifactsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListArtifactsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListArtifactsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListArtifactsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [MetadataService.ListArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts]. +type ListArtifactsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Artifacts retrieved from the MetadataStore. + Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` + // A token, which can be sent as + // [ListArtifactsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListArtifactsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListArtifactsResponse) Reset() { + *x = ListArtifactsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListArtifactsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListArtifactsResponse) ProtoMessage() {} + +func (x *ListArtifactsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[10] + 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 ListArtifactsResponse.ProtoReflect.Descriptor instead. +func (*ListArtifactsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListArtifactsResponse) GetArtifacts() []*Artifact { + if x != nil { + return x.Artifacts + } + return nil +} + +func (x *ListArtifactsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MetadataService.UpdateArtifact][mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact]. +type UpdateArtifactRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Artifact containing updates. + // The Artifact's + // [Artifact.name][mockgcp.cloud.aiplatform.v1beta1.Artifact.name] field is + // used to identify the Artifact to be updated. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Optional. A FieldMask indicating which fields should be updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set to true, and the + // [Artifact][mockgcp.cloud.aiplatform.v1beta1.Artifact] is not found, a new + // [Artifact][mockgcp.cloud.aiplatform.v1beta1.Artifact] is created. + AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateArtifactRequest) Reset() { + *x = UpdateArtifactRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateArtifactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateArtifactRequest) ProtoMessage() {} + +func (x *UpdateArtifactRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[11] + 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 UpdateArtifactRequest.ProtoReflect.Descriptor instead. +func (*UpdateArtifactRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateArtifactRequest) GetArtifact() *Artifact { + if x != nil { + return x.Artifact + } + return nil +} + +func (x *UpdateArtifactRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateArtifactRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Request message for +// [MetadataService.DeleteArtifact][mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact]. +type DeleteArtifactRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Artifact to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The etag of the Artifact to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteArtifactRequest) Reset() { + *x = DeleteArtifactRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteArtifactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteArtifactRequest) ProtoMessage() {} + +func (x *DeleteArtifactRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[12] + 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 DeleteArtifactRequest.ProtoReflect.Descriptor instead. +func (*DeleteArtifactRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteArtifactRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteArtifactRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [MetadataService.PurgeArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. +type PurgeArtifactsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The metadata store to purge Artifacts from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. A required filter matching the Artifacts to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Artifact names that would be deleted. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeArtifactsRequest) Reset() { + *x = PurgeArtifactsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeArtifactsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeArtifactsRequest) ProtoMessage() {} + +func (x *PurgeArtifactsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[13] + 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 PurgeArtifactsRequest.ProtoReflect.Descriptor instead. +func (*PurgeArtifactsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{13} +} + +func (x *PurgeArtifactsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeArtifactsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeArtifactsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response message for +// [MetadataService.PurgeArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. +type PurgeArtifactsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of Artifacts that this request deleted (or, if `force` is false, + // the number of Artifacts that will be deleted). This can be an estimate. + PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` + // A sample of the Artifact names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` +} + +func (x *PurgeArtifactsResponse) Reset() { + *x = PurgeArtifactsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeArtifactsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeArtifactsResponse) ProtoMessage() {} + +func (x *PurgeArtifactsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[14] + 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 PurgeArtifactsResponse.ProtoReflect.Descriptor instead. +func (*PurgeArtifactsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{14} +} + +func (x *PurgeArtifactsResponse) GetPurgeCount() int64 { + if x != nil { + return x.PurgeCount + } + return 0 +} + +func (x *PurgeArtifactsResponse) GetPurgeSample() []string { + if x != nil { + return x.PurgeSample + } + return nil +} + +// Details of operations that perform +// [MetadataService.PurgeArtifacts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts]. +type PurgeArtifactsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for purging Artifacts. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *PurgeArtifactsMetadata) Reset() { + *x = PurgeArtifactsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeArtifactsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeArtifactsMetadata) ProtoMessage() {} + +func (x *PurgeArtifactsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_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 PurgeArtifactsMetadata.ProtoReflect.Descriptor instead. +func (*PurgeArtifactsMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{15} +} + +func (x *PurgeArtifactsMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [MetadataService.CreateContext][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateContext]. +type CreateContextRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore where the Context should + // be created. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Context to create. + Context *Context `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` + // The {context} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. + // If not provided, the Context's ID will be a UUID generated by the service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Contexts in the parent MetadataStore. (Otherwise + // the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the + // caller can't view the preexisting Context.) + ContextId string `protobuf:"bytes,3,opt,name=context_id,json=contextId,proto3" json:"context_id,omitempty"` +} + +func (x *CreateContextRequest) Reset() { + *x = CreateContextRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateContextRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateContextRequest) ProtoMessage() {} + +func (x *CreateContextRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[16] + 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 CreateContextRequest.ProtoReflect.Descriptor instead. +func (*CreateContextRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{16} +} + +func (x *CreateContextRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateContextRequest) GetContext() *Context { + if x != nil { + return x.Context + } + return nil +} + +func (x *CreateContextRequest) GetContextId() string { + if x != nil { + return x.ContextId + } + return "" +} + +// Request message for +// [MetadataService.GetContext][mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetContext]. +type GetContextRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Context to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetContextRequest) Reset() { + *x = GetContextRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetContextRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContextRequest) ProtoMessage() {} + +func (x *GetContextRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[17] + 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 GetContextRequest.ProtoReflect.Descriptor instead. +func (*GetContextRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{17} +} + +func (x *GetContextRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [MetadataService.ListContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListContexts] +type ListContextsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The MetadataStore whose Contexts should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of Contexts to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [MetadataService.ListContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListContexts] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter specifying the boolean condition for the Contexts to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // Following are the supported set of filters: + // + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `schema_title`, + // `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0`. + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // + // - **Parent Child filtering**: + // To filter Contexts based on parent-child relationship use the HAS + // operator as follows: + // + // ``` + // parent_contexts: + // "projects//locations//metadataStores//contexts/" + // child_contexts: + // "projects//locations//metadataStores//contexts/" + // ``` + // + // Each of the above supported filters can be combined together using + // logical operators (`AND` & `OR`). Maximum nested expression depth allowed + // is 5. + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListContextsRequest) Reset() { + *x = ListContextsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListContextsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListContextsRequest) ProtoMessage() {} + +func (x *ListContextsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[18] + 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 ListContextsRequest.ProtoReflect.Descriptor instead. +func (*ListContextsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{18} +} + +func (x *ListContextsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListContextsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListContextsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListContextsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListContextsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [MetadataService.ListContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListContexts]. +type ListContextsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Contexts retrieved from the MetadataStore. + Contexts []*Context `protobuf:"bytes,1,rep,name=contexts,proto3" json:"contexts,omitempty"` + // A token, which can be sent as + // [ListContextsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListContextsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListContextsResponse) Reset() { + *x = ListContextsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListContextsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListContextsResponse) ProtoMessage() {} + +func (x *ListContextsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[19] + 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 ListContextsResponse.ProtoReflect.Descriptor instead. +func (*ListContextsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{19} +} + +func (x *ListContextsResponse) GetContexts() []*Context { + if x != nil { + return x.Contexts + } + return nil +} + +func (x *ListContextsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MetadataService.UpdateContext][mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateContext]. +type UpdateContextRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Context containing updates. + // The Context's [Context.name][mockgcp.cloud.aiplatform.v1beta1.Context.name] + // field is used to identify the Context to be updated. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + // Optional. A FieldMask indicating which fields should be updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set to true, and the [Context][mockgcp.cloud.aiplatform.v1beta1.Context] + // is not found, a new [Context][mockgcp.cloud.aiplatform.v1beta1.Context] is + // created. + AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateContextRequest) Reset() { + *x = UpdateContextRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateContextRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateContextRequest) ProtoMessage() {} + +func (x *UpdateContextRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[20] + 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 UpdateContextRequest.ProtoReflect.Descriptor instead. +func (*UpdateContextRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateContextRequest) GetContext() *Context { + if x != nil { + return x.Context + } + return nil +} + +func (x *UpdateContextRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateContextRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Request message for +// [MetadataService.DeleteContext][mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteContext]. +type DeleteContextRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Context to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The force deletion semantics is still undefined. + // Users should not use this field. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The etag of the Context to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteContextRequest) Reset() { + *x = DeleteContextRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteContextRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteContextRequest) ProtoMessage() {} + +func (x *DeleteContextRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[21] + 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 DeleteContextRequest.ProtoReflect.Descriptor instead. +func (*DeleteContextRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{21} +} + +func (x *DeleteContextRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteContextRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteContextRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [MetadataService.PurgeContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. +type PurgeContextsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The metadata store to purge Contexts from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. A required filter matching the Contexts to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Context names that would be deleted. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeContextsRequest) Reset() { + *x = PurgeContextsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeContextsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeContextsRequest) ProtoMessage() {} + +func (x *PurgeContextsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[22] + 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 PurgeContextsRequest.ProtoReflect.Descriptor instead. +func (*PurgeContextsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{22} +} + +func (x *PurgeContextsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeContextsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeContextsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response message for +// [MetadataService.PurgeContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. +type PurgeContextsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of Contexts that this request deleted (or, if `force` is false, + // the number of Contexts that will be deleted). This can be an estimate. + PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` + // A sample of the Context names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` +} + +func (x *PurgeContextsResponse) Reset() { + *x = PurgeContextsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeContextsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeContextsResponse) ProtoMessage() {} + +func (x *PurgeContextsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[23] + 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 PurgeContextsResponse.ProtoReflect.Descriptor instead. +func (*PurgeContextsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{23} +} + +func (x *PurgeContextsResponse) GetPurgeCount() int64 { + if x != nil { + return x.PurgeCount + } + return 0 +} + +func (x *PurgeContextsResponse) GetPurgeSample() []string { + if x != nil { + return x.PurgeSample + } + return nil +} + +// Details of operations that perform +// [MetadataService.PurgeContexts][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts]. +type PurgeContextsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for purging Contexts. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *PurgeContextsMetadata) Reset() { + *x = PurgeContextsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeContextsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeContextsMetadata) ProtoMessage() {} + +func (x *PurgeContextsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[24] + 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 PurgeContextsMetadata.ProtoReflect.Descriptor instead. +func (*PurgeContextsMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{24} +} + +func (x *PurgeContextsMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [MetadataService.AddContextArtifactsAndExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. +type AddContextArtifactsAndExecutionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Context that the Artifacts and + // Executions belong to. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + // The resource names of the Artifacts to attribute to the Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + Artifacts []string `protobuf:"bytes,2,rep,name=artifacts,proto3" json:"artifacts,omitempty"` + // The resource names of the Executions to associate with the + // Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Executions []string `protobuf:"bytes,3,rep,name=executions,proto3" json:"executions,omitempty"` +} + +func (x *AddContextArtifactsAndExecutionsRequest) Reset() { + *x = AddContextArtifactsAndExecutionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddContextArtifactsAndExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddContextArtifactsAndExecutionsRequest) ProtoMessage() {} + +func (x *AddContextArtifactsAndExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[25] + 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 AddContextArtifactsAndExecutionsRequest.ProtoReflect.Descriptor instead. +func (*AddContextArtifactsAndExecutionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{25} +} + +func (x *AddContextArtifactsAndExecutionsRequest) GetContext() string { + if x != nil { + return x.Context + } + return "" +} + +func (x *AddContextArtifactsAndExecutionsRequest) GetArtifacts() []string { + if x != nil { + return x.Artifacts + } + return nil +} + +func (x *AddContextArtifactsAndExecutionsRequest) GetExecutions() []string { + if x != nil { + return x.Executions + } + return nil +} + +// Response message for +// [MetadataService.AddContextArtifactsAndExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions]. +type AddContextArtifactsAndExecutionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AddContextArtifactsAndExecutionsResponse) Reset() { + *x = AddContextArtifactsAndExecutionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddContextArtifactsAndExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddContextArtifactsAndExecutionsResponse) ProtoMessage() {} + +func (x *AddContextArtifactsAndExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[26] + 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 AddContextArtifactsAndExecutionsResponse.ProtoReflect.Descriptor instead. +func (*AddContextArtifactsAndExecutionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{26} +} + +// Request message for +// [MetadataService.AddContextChildren][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. +type AddContextChildrenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the parent Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + // The resource names of the child Contexts. + ChildContexts []string `protobuf:"bytes,2,rep,name=child_contexts,json=childContexts,proto3" json:"child_contexts,omitempty"` +} + +func (x *AddContextChildrenRequest) Reset() { + *x = AddContextChildrenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddContextChildrenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddContextChildrenRequest) ProtoMessage() {} + +func (x *AddContextChildrenRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[27] + 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 AddContextChildrenRequest.ProtoReflect.Descriptor instead. +func (*AddContextChildrenRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{27} +} + +func (x *AddContextChildrenRequest) GetContext() string { + if x != nil { + return x.Context + } + return "" +} + +func (x *AddContextChildrenRequest) GetChildContexts() []string { + if x != nil { + return x.ChildContexts + } + return nil +} + +// Response message for +// [MetadataService.AddContextChildren][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren]. +type AddContextChildrenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AddContextChildrenResponse) Reset() { + *x = AddContextChildrenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddContextChildrenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddContextChildrenResponse) ProtoMessage() {} + +func (x *AddContextChildrenResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[28] + 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 AddContextChildrenResponse.ProtoReflect.Descriptor instead. +func (*AddContextChildrenResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{28} +} + +// Request message for +// [MetadataService.DeleteContextChildrenRequest][]. +type RemoveContextChildrenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the parent Context. + // + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + // The resource names of the child Contexts. + ChildContexts []string `protobuf:"bytes,2,rep,name=child_contexts,json=childContexts,proto3" json:"child_contexts,omitempty"` +} + +func (x *RemoveContextChildrenRequest) Reset() { + *x = RemoveContextChildrenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveContextChildrenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveContextChildrenRequest) ProtoMessage() {} + +func (x *RemoveContextChildrenRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[29] + 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 RemoveContextChildrenRequest.ProtoReflect.Descriptor instead. +func (*RemoveContextChildrenRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{29} +} + +func (x *RemoveContextChildrenRequest) GetContext() string { + if x != nil { + return x.Context + } + return "" +} + +func (x *RemoveContextChildrenRequest) GetChildContexts() []string { + if x != nil { + return x.ChildContexts + } + return nil +} + +// Response message for +// [MetadataService.RemoveContextChildren][mockgcp.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren]. +type RemoveContextChildrenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemoveContextChildrenResponse) Reset() { + *x = RemoveContextChildrenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveContextChildrenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveContextChildrenResponse) ProtoMessage() {} + +func (x *RemoveContextChildrenResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[30] + 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 RemoveContextChildrenResponse.ProtoReflect.Descriptor instead. +func (*RemoveContextChildrenResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{30} +} + +// Request message for +// [MetadataService.QueryContextLineageSubgraph][mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph]. +type QueryContextLineageSubgraphRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Context whose Artifacts and Executions + // should be retrieved as a LineageSubgraph. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` + // + // The request may error with FAILED_PRECONDITION if the number of Artifacts, + // the number of Executions, or the number of Events that would be returned + // for the Context exceeds 1000. + Context string `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` +} + +func (x *QueryContextLineageSubgraphRequest) Reset() { + *x = QueryContextLineageSubgraphRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryContextLineageSubgraphRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryContextLineageSubgraphRequest) ProtoMessage() {} + +func (x *QueryContextLineageSubgraphRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[31] + 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 QueryContextLineageSubgraphRequest.ProtoReflect.Descriptor instead. +func (*QueryContextLineageSubgraphRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{31} +} + +func (x *QueryContextLineageSubgraphRequest) GetContext() string { + if x != nil { + return x.Context + } + return "" +} + +// Request message for +// [MetadataService.CreateExecution][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateExecution]. +type CreateExecutionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore where the Execution should + // be created. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Execution to create. + Execution *Execution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The {execution} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + // If not provided, the Execution's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all Executions in the parent MetadataStore. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting Execution.) + ExecutionId string `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"` +} + +func (x *CreateExecutionRequest) Reset() { + *x = CreateExecutionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateExecutionRequest) ProtoMessage() {} + +func (x *CreateExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[32] + 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 CreateExecutionRequest.ProtoReflect.Descriptor instead. +func (*CreateExecutionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{32} +} + +func (x *CreateExecutionRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateExecutionRequest) GetExecution() *Execution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *CreateExecutionRequest) GetExecutionId() string { + if x != nil { + return x.ExecutionId + } + return "" +} + +// Request message for +// [MetadataService.GetExecution][mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetExecution]. +type GetExecutionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Execution to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetExecutionRequest) Reset() { + *x = GetExecutionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExecutionRequest) ProtoMessage() {} + +func (x *GetExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[33] + 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 GetExecutionRequest.ProtoReflect.Descriptor instead. +func (*GetExecutionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{33} +} + +func (x *GetExecutionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [MetadataService.ListExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. +type ListExecutionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The MetadataStore whose Executions should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of Executions to return. The service may return fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [MetadataService.ListExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListExecutions] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with an + // INVALID_ARGUMENT error.) + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter specifying the boolean condition for the Executions to satisfy in + // order to be part of the result set. + // The syntax to define filter query is based on https://google.aip.dev/160. + // Following are the supported set of filters: + // + // - **Attribute filtering**: + // For example: `display_name = "test"`. + // Supported fields include: `name`, `display_name`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"`. + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..` + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // - **Context based filtering**: + // To filter Executions based on the contexts to which they belong use + // the function operator with the full resource name: + // `in_context()`. + // For example: + // `in_context("projects//locations//metadataStores//contexts/")` + // + // Each of the above supported filters can be combined together using + // logical operators (`AND` & `OR`). Maximum nested expression depth allowed + // is 5. + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // How the list of messages is ordered. Specify the values to order by and an + // ordering operation. The default sorting order is ascending. To specify + // descending order for a field, users append a " desc" suffix; for example: + // "foo desc, bar". + // Subfields are specified with a `.` character, such as foo.bar. + // see https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListExecutionsRequest) Reset() { + *x = ListExecutionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListExecutionsRequest) ProtoMessage() {} + +func (x *ListExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[34] + 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 ListExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListExecutionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{34} +} + +func (x *ListExecutionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListExecutionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListExecutionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListExecutionsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [MetadataService.ListExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListExecutions]. +type ListExecutionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Executions retrieved from the MetadataStore. + Executions []*Execution `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + // A token, which can be sent as + // [ListExecutionsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListExecutionsRequest.page_token] + // to retrieve the next page. + // If this field is not populated, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListExecutionsResponse) Reset() { + *x = ListExecutionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListExecutionsResponse) ProtoMessage() {} + +func (x *ListExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[35] + 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 ListExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListExecutionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{35} +} + +func (x *ListExecutionsResponse) GetExecutions() []*Execution { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListExecutionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MetadataService.UpdateExecution][mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution]. +type UpdateExecutionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Execution containing updates. + // The Execution's + // [Execution.name][mockgcp.cloud.aiplatform.v1beta1.Execution.name] field is + // used to identify the Execution to be updated. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Execution *Execution `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` + // Optional. A FieldMask indicating which fields should be updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set to true, and the + // [Execution][mockgcp.cloud.aiplatform.v1beta1.Execution] is not found, a new + // [Execution][mockgcp.cloud.aiplatform.v1beta1.Execution] is created. + AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateExecutionRequest) Reset() { + *x = UpdateExecutionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExecutionRequest) ProtoMessage() {} + +func (x *UpdateExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[36] + 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 UpdateExecutionRequest.ProtoReflect.Descriptor instead. +func (*UpdateExecutionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{36} +} + +func (x *UpdateExecutionRequest) GetExecution() *Execution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *UpdateExecutionRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateExecutionRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Request message for +// [MetadataService.DeleteExecution][mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution]. +type DeleteExecutionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Execution to delete. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The etag of the Execution to delete. + // If this is provided, it must match the server's etag. Otherwise, the + // request will fail with a FAILED_PRECONDITION. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteExecutionRequest) Reset() { + *x = DeleteExecutionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteExecutionRequest) ProtoMessage() {} + +func (x *DeleteExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[37] + 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 DeleteExecutionRequest.ProtoReflect.Descriptor instead. +func (*DeleteExecutionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{37} +} + +func (x *DeleteExecutionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteExecutionRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [MetadataService.PurgeExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. +type PurgeExecutionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The metadata store to purge Executions from. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. A required filter matching the Executions to be purged. + // E.g., `update_time <= 2020-11-19T11:30:00-04:00`. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Flag to indicate to actually perform the purge. + // If `force` is set to false, the method will return a sample of + // Execution names that would be deleted. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeExecutionsRequest) Reset() { + *x = PurgeExecutionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeExecutionsRequest) ProtoMessage() {} + +func (x *PurgeExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[38] + 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 PurgeExecutionsRequest.ProtoReflect.Descriptor instead. +func (*PurgeExecutionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{38} +} + +func (x *PurgeExecutionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeExecutionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeExecutionsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response message for +// [MetadataService.PurgeExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. +type PurgeExecutionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of Executions that this request deleted (or, if `force` is + // false, the number of Executions that will be deleted). This can be an + // estimate. + PurgeCount int64 `protobuf:"varint,1,opt,name=purge_count,json=purgeCount,proto3" json:"purge_count,omitempty"` + // A sample of the Execution names that will be deleted. + // Only populated if `force` is set to false. The maximum number of samples is + // 100 (it is possible to return fewer). + PurgeSample []string `protobuf:"bytes,2,rep,name=purge_sample,json=purgeSample,proto3" json:"purge_sample,omitempty"` +} + +func (x *PurgeExecutionsResponse) Reset() { + *x = PurgeExecutionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeExecutionsResponse) ProtoMessage() {} + +func (x *PurgeExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[39] + 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 PurgeExecutionsResponse.ProtoReflect.Descriptor instead. +func (*PurgeExecutionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{39} +} + +func (x *PurgeExecutionsResponse) GetPurgeCount() int64 { + if x != nil { + return x.PurgeCount + } + return 0 +} + +func (x *PurgeExecutionsResponse) GetPurgeSample() []string { + if x != nil { + return x.PurgeSample + } + return nil +} + +// Details of operations that perform +// [MetadataService.PurgeExecutions][mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions]. +type PurgeExecutionsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for purging Executions. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *PurgeExecutionsMetadata) Reset() { + *x = PurgeExecutionsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeExecutionsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeExecutionsMetadata) ProtoMessage() {} + +func (x *PurgeExecutionsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[40] + 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 PurgeExecutionsMetadata.ProtoReflect.Descriptor instead. +func (*PurgeExecutionsMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{40} +} + +func (x *PurgeExecutionsMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [MetadataService.AddExecutionEvents][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. +type AddExecutionEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Execution that the Events connect + // Artifacts with. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Execution string `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` + // The Events to create and add. + Events []*Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *AddExecutionEventsRequest) Reset() { + *x = AddExecutionEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddExecutionEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddExecutionEventsRequest) ProtoMessage() {} + +func (x *AddExecutionEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[41] + 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 AddExecutionEventsRequest.ProtoReflect.Descriptor instead. +func (*AddExecutionEventsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{41} +} + +func (x *AddExecutionEventsRequest) GetExecution() string { + if x != nil { + return x.Execution + } + return "" +} + +func (x *AddExecutionEventsRequest) GetEvents() []*Event { + if x != nil { + return x.Events + } + return nil +} + +// Response message for +// [MetadataService.AddExecutionEvents][mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents]. +type AddExecutionEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AddExecutionEventsResponse) Reset() { + *x = AddExecutionEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddExecutionEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddExecutionEventsResponse) ProtoMessage() {} + +func (x *AddExecutionEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[42] + 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 AddExecutionEventsResponse.ProtoReflect.Descriptor instead. +func (*AddExecutionEventsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{42} +} + +// Request message for +// [MetadataService.QueryExecutionInputsAndOutputs][mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs]. +type QueryExecutionInputsAndOutputsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Execution whose input and output + // Artifacts should be retrieved as a LineageSubgraph. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` + Execution string `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` +} + +func (x *QueryExecutionInputsAndOutputsRequest) Reset() { + *x = QueryExecutionInputsAndOutputsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryExecutionInputsAndOutputsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryExecutionInputsAndOutputsRequest) ProtoMessage() {} + +func (x *QueryExecutionInputsAndOutputsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[43] + 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 QueryExecutionInputsAndOutputsRequest.ProtoReflect.Descriptor instead. +func (*QueryExecutionInputsAndOutputsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{43} +} + +func (x *QueryExecutionInputsAndOutputsRequest) GetExecution() string { + if x != nil { + return x.Execution + } + return "" +} + +// Request message for +// [MetadataService.CreateMetadataSchema][mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema]. +type CreateMetadataSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataStore where the MetadataSchema + // should be created. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The MetadataSchema to create. + MetadataSchema *MetadataSchema `protobuf:"bytes,2,opt,name=metadata_schema,json=metadataSchema,proto3" json:"metadata_schema,omitempty"` + // The {metadata_schema} portion of the resource name with the format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` + // If not provided, the MetadataStore's ID will be a UUID generated by the + // service. + // Must be 4-128 characters in length. Valid characters are `/[a-z][0-9]-/`. + // Must be unique across all MetadataSchemas in the parent Location. + // (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED + // if the caller can't view the preexisting MetadataSchema.) + MetadataSchemaId string `protobuf:"bytes,3,opt,name=metadata_schema_id,json=metadataSchemaId,proto3" json:"metadata_schema_id,omitempty"` +} + +func (x *CreateMetadataSchemaRequest) Reset() { + *x = CreateMetadataSchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMetadataSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMetadataSchemaRequest) ProtoMessage() {} + +func (x *CreateMetadataSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[44] + 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 CreateMetadataSchemaRequest.ProtoReflect.Descriptor instead. +func (*CreateMetadataSchemaRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{44} +} + +func (x *CreateMetadataSchemaRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateMetadataSchemaRequest) GetMetadataSchema() *MetadataSchema { + if x != nil { + return x.MetadataSchema + } + return nil +} + +func (x *CreateMetadataSchemaRequest) GetMetadataSchemaId() string { + if x != nil { + return x.MetadataSchemaId + } + return "" +} + +// Request message for +// [MetadataService.GetMetadataSchema][mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema]. +type GetMetadataSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the MetadataSchema to retrieve. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetMetadataSchemaRequest) Reset() { + *x = GetMetadataSchemaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetadataSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetadataSchemaRequest) ProtoMessage() {} + +func (x *GetMetadataSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[45] + 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 GetMetadataSchemaRequest.ProtoReflect.Descriptor instead. +func (*GetMetadataSchemaRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{45} +} + +func (x *GetMetadataSchemaRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [MetadataService.ListMetadataSchemas][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. +type ListMetadataSchemasRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The MetadataStore whose MetadataSchemas should be listed. + // Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of MetadataSchemas to return. The service may return + // fewer. + // Must be in range 1-1000, inclusive. Defaults to 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [MetadataService.ListMetadataSchemas][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas] + // call. Provide this to retrieve the next page. + // + // When paginating, all other provided parameters must match the call that + // provided the page token. (Otherwise the request will fail with + // INVALID_ARGUMENT error.) + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A query to filter available MetadataSchemas for matching results. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ListMetadataSchemasRequest) Reset() { + *x = ListMetadataSchemasRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMetadataSchemasRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMetadataSchemasRequest) ProtoMessage() {} + +func (x *ListMetadataSchemasRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[46] + 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 ListMetadataSchemasRequest.ProtoReflect.Descriptor instead. +func (*ListMetadataSchemasRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{46} +} + +func (x *ListMetadataSchemasRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListMetadataSchemasRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListMetadataSchemasRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListMetadataSchemasRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Response message for +// [MetadataService.ListMetadataSchemas][mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas]. +type ListMetadataSchemasResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The MetadataSchemas found for the MetadataStore. + MetadataSchemas []*MetadataSchema `protobuf:"bytes,1,rep,name=metadata_schemas,json=metadataSchemas,proto3" json:"metadata_schemas,omitempty"` + // A token, which can be sent as + // [ListMetadataSchemasRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest.page_token] + // to retrieve the next page. If this field is not populated, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListMetadataSchemasResponse) Reset() { + *x = ListMetadataSchemasResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMetadataSchemasResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMetadataSchemasResponse) ProtoMessage() {} + +func (x *ListMetadataSchemasResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[47] + 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 ListMetadataSchemasResponse.ProtoReflect.Descriptor instead. +func (*ListMetadataSchemasResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{47} +} + +func (x *ListMetadataSchemasResponse) GetMetadataSchemas() []*MetadataSchema { + if x != nil { + return x.MetadataSchemas + } + return nil +} + +func (x *ListMetadataSchemasResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MetadataService.QueryArtifactLineageSubgraph][mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph]. +type QueryArtifactLineageSubgraphRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Artifact whose Lineage needs to be + // retrieved as a LineageSubgraph. Format: + // `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` + // + // The request may error with FAILED_PRECONDITION if the number of Artifacts, + // the number of Executions, or the number of Events that would be returned + // for the Context exceeds 1000. + Artifact string `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"` + // Specifies the size of the lineage graph in terms of number of hops from the + // specified artifact. + // Negative Value: INVALID_ARGUMENT error is returned + // 0: Only input artifact is returned. + // No value: Transitive closure is performed to return the complete graph. + MaxHops int32 `protobuf:"varint,2,opt,name=max_hops,json=maxHops,proto3" json:"max_hops,omitempty"` + // Filter specifying the boolean condition for the Artifacts to satisfy in + // order to be part of the Lineage Subgraph. + // The syntax to define filter query is based on https://google.aip.dev/160. + // The supported set of filters include the following: + // + // - **Attribute filtering**: + // For example: `display_name = "test"` + // Supported fields include: `name`, `display_name`, `uri`, `state`, + // `schema_title`, `create_time`, and `update_time`. + // Time fields, such as `create_time` and `update_time`, require values + // specified in RFC-3339 format. + // For example: `create_time = "2020-11-19T11:30:00-04:00"` + // - **Metadata field**: + // To filter on metadata fields use traversal operation as follows: + // `metadata..`. + // For example: `metadata.field_1.number_value = 10.0` + // In case the field name contains special characters (such as colon), one + // can embed it inside double quote. + // For example: `metadata."field:1".number_value = 10.0` + // + // Each of the above supported filter types can be combined together using + // logical operators (`AND` & `OR`). Maximum nested expression depth allowed + // is 5. + // + // For example: `display_name = "test" AND metadata.field1.bool_value = true`. + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *QueryArtifactLineageSubgraphRequest) Reset() { + *x = QueryArtifactLineageSubgraphRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryArtifactLineageSubgraphRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryArtifactLineageSubgraphRequest) ProtoMessage() {} + +func (x *QueryArtifactLineageSubgraphRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[48] + 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 QueryArtifactLineageSubgraphRequest.ProtoReflect.Descriptor instead. +func (*QueryArtifactLineageSubgraphRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP(), []int{48} +} + +func (x *QueryArtifactLineageSubgraphRequest) GetArtifact() string { + if x != nil { + return x.Artifact + } + return "" +} + +func (x *QueryArtifactLineageSubgraphRequest) GetMaxHops() int32 { + if x != nil { + return x.MaxHops + } + return 0 +} + +func (x *QueryArtifactLineageSubgraphRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x35, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 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, 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, 0x22, 0xe8, 0x01, + 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x5b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x0e, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 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, 0x7b, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xce, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, + 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0xcb, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x22, 0x70, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, + 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0x93, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, + 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x72, + 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, + 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x22, 0x7f, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xc7, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x85, 0x01, 0x0a, 0x14, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 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, 0xc7, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x84, 0x01, 0x0a, + 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x22, 0x91, 0x01, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x7e, 0x0a, + 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xff, 0x01, + 0x0a, 0x27, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x45, + 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, 0x23, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x2a, 0x0a, 0x28, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x19, + 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4d, + 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x22, 0x1c, 0x0a, + 0x1a, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x1c, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, + 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x52, 0x0d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x69, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd4, 0x01, 0x0a, + 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, + 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x4e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x12, 0x23, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 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, 0xcf, 0x01, 0x0a, 0x16, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x16, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, + 0x95, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x25, 0x12, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, + 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, + 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, + 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x1c, + 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x25, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xf4, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, + 0x12, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 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, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 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, 0xa0, 0x01, 0x0a, 0x23, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x6e, + 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, + 0x61, 0x78, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x32, 0xa2, + 0x3e, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xa6, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 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, 0xb1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, + 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x3a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x69, 0x64, 0xca, 0x41, 0x35, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc6, 0x01, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x46, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0xfb, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 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, 0x86, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a, 0x37, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x3d, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xea, + 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x43, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x73, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0xda, 0x41, 0x1b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2c, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xc3, 0x01, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x52, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xec, 0x01, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x37, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x32, 0x4c, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0xda, 0x41, 0x14, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xf0, 0x01, 0x0a, 0x0e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x37, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfb, 0x01, 0x0a, + 0x0e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, + 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x73, 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, 0x90, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, + 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x36, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x3a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, + 0x12, 0xbf, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, + 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0xd2, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xe5, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x71, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x55, 0x32, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0xda, 0x41, 0x13, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, + 0xed, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 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, 0x84, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x44, 0x2a, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, + 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0xf6, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 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, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4d, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0xca, 0x41, 0x2e, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xcc, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, + 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x22, 0x66, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1c, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2c, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8d, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x3b, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, + 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x5d, 0x22, 0x58, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x99, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x43, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x2c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x12, 0x8b, 0x02, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, + 0x61, 0x70, 0x68, 0x12, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x63, 0x12, 0x61, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, + 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0xda, 0x41, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x51, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x09, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xda, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf3, 0x01, 0x0a, + 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x32, + 0x4e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x15, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x12, 0xf3, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x86, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x2a, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x80, 0x02, 0x0a, 0x0f, 0x50, 0x75, 0x72, + 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x93, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x4a, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x8b, 0x02, 0x0a, 0x12, + 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x61, 0x64, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x1e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x47, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, + 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, + 0x12, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x41, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0xda, 0x41, 0x09, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x98, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x22, 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x73, 0x3a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2c, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x69, + 0x64, 0x12, 0xdb, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xee, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x91, 0x02, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x12, 0x45, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, + 0x61, 0x67, 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0x22, 0x77, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x66, 0x12, 0x64, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, + 0x65, 0x53, 0x75, 0x62, 0x67, 0x72, 0x61, 0x70, 0x68, 0xda, 0x41, 0x08, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 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, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes = make([]protoimpl.MessageInfo, 49) +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes = []interface{}{ + (*CreateMetadataStoreRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest + (*CreateMetadataStoreOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataStoreOperationMetadata + (*GetMetadataStoreRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetMetadataStoreRequest + (*ListMetadataStoresRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresRequest + (*ListMetadataStoresResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresResponse + (*DeleteMetadataStoreRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteMetadataStoreRequest + (*DeleteMetadataStoreOperationMetadata)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeleteMetadataStoreOperationMetadata + (*CreateArtifactRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.CreateArtifactRequest + (*GetArtifactRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.GetArtifactRequest + (*ListArtifactsRequest)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ListArtifactsRequest + (*ListArtifactsResponse)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ListArtifactsResponse + (*UpdateArtifactRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.UpdateArtifactRequest + (*DeleteArtifactRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.DeleteArtifactRequest + (*PurgeArtifactsRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.PurgeArtifactsRequest + (*PurgeArtifactsResponse)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.PurgeArtifactsResponse + (*PurgeArtifactsMetadata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.PurgeArtifactsMetadata + (*CreateContextRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.CreateContextRequest + (*GetContextRequest)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GetContextRequest + (*ListContextsRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.ListContextsRequest + (*ListContextsResponse)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.ListContextsResponse + (*UpdateContextRequest)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.UpdateContextRequest + (*DeleteContextRequest)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.DeleteContextRequest + (*PurgeContextsRequest)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.PurgeContextsRequest + (*PurgeContextsResponse)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.PurgeContextsResponse + (*PurgeContextsMetadata)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.PurgeContextsMetadata + (*AddContextArtifactsAndExecutionsRequest)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsRequest + (*AddContextArtifactsAndExecutionsResponse)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsResponse + (*AddContextChildrenRequest)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.AddContextChildrenRequest + (*AddContextChildrenResponse)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.AddContextChildrenResponse + (*RemoveContextChildrenRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.RemoveContextChildrenRequest + (*RemoveContextChildrenResponse)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.RemoveContextChildrenResponse + (*QueryContextLineageSubgraphRequest)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.QueryContextLineageSubgraphRequest + (*CreateExecutionRequest)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.CreateExecutionRequest + (*GetExecutionRequest)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.GetExecutionRequest + (*ListExecutionsRequest)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.ListExecutionsRequest + (*ListExecutionsResponse)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.ListExecutionsResponse + (*UpdateExecutionRequest)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.UpdateExecutionRequest + (*DeleteExecutionRequest)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.DeleteExecutionRequest + (*PurgeExecutionsRequest)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.PurgeExecutionsRequest + (*PurgeExecutionsResponse)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.PurgeExecutionsResponse + (*PurgeExecutionsMetadata)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.PurgeExecutionsMetadata + (*AddExecutionEventsRequest)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.AddExecutionEventsRequest + (*AddExecutionEventsResponse)(nil), // 42: mockgcp.cloud.aiplatform.v1beta1.AddExecutionEventsResponse + (*QueryExecutionInputsAndOutputsRequest)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.QueryExecutionInputsAndOutputsRequest + (*CreateMetadataSchemaRequest)(nil), // 44: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest + (*GetMetadataSchemaRequest)(nil), // 45: mockgcp.cloud.aiplatform.v1beta1.GetMetadataSchemaRequest + (*ListMetadataSchemasRequest)(nil), // 46: mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest + (*ListMetadataSchemasResponse)(nil), // 47: mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse + (*QueryArtifactLineageSubgraphRequest)(nil), // 48: mockgcp.cloud.aiplatform.v1beta1.QueryArtifactLineageSubgraphRequest + (*MetadataStore)(nil), // 49: mockgcp.cloud.aiplatform.v1beta1.MetadataStore + (*GenericOperationMetadata)(nil), // 50: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*Artifact)(nil), // 51: mockgcp.cloud.aiplatform.v1beta1.Artifact + (*field_mask.FieldMask)(nil), // 52: google.protobuf.FieldMask + (*Context)(nil), // 53: mockgcp.cloud.aiplatform.v1beta1.Context + (*Execution)(nil), // 54: mockgcp.cloud.aiplatform.v1beta1.Execution + (*Event)(nil), // 55: mockgcp.cloud.aiplatform.v1beta1.Event + (*MetadataSchema)(nil), // 56: mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + (*longrunningpb.Operation)(nil), // 57: google.longrunning.Operation + (*LineageSubgraph)(nil), // 58: mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph +} +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs = []int32{ + 49, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest.metadata_store:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataStore + 50, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataStoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 49, // 2: mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresResponse.metadata_stores:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataStore + 50, // 3: mockgcp.cloud.aiplatform.v1beta1.DeleteMetadataStoreOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 51, // 4: mockgcp.cloud.aiplatform.v1beta1.CreateArtifactRequest.artifact:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 51, // 5: mockgcp.cloud.aiplatform.v1beta1.ListArtifactsResponse.artifacts:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 51, // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateArtifactRequest.artifact:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 52, // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateArtifactRequest.update_mask:type_name -> google.protobuf.FieldMask + 50, // 8: mockgcp.cloud.aiplatform.v1beta1.PurgeArtifactsMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 53, // 9: mockgcp.cloud.aiplatform.v1beta1.CreateContextRequest.context:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context + 53, // 10: mockgcp.cloud.aiplatform.v1beta1.ListContextsResponse.contexts:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context + 53, // 11: mockgcp.cloud.aiplatform.v1beta1.UpdateContextRequest.context:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context + 52, // 12: mockgcp.cloud.aiplatform.v1beta1.UpdateContextRequest.update_mask:type_name -> google.protobuf.FieldMask + 50, // 13: mockgcp.cloud.aiplatform.v1beta1.PurgeContextsMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 54, // 14: mockgcp.cloud.aiplatform.v1beta1.CreateExecutionRequest.execution:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution + 54, // 15: mockgcp.cloud.aiplatform.v1beta1.ListExecutionsResponse.executions:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution + 54, // 16: mockgcp.cloud.aiplatform.v1beta1.UpdateExecutionRequest.execution:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution + 52, // 17: mockgcp.cloud.aiplatform.v1beta1.UpdateExecutionRequest.update_mask:type_name -> google.protobuf.FieldMask + 50, // 18: mockgcp.cloud.aiplatform.v1beta1.PurgeExecutionsMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 55, // 19: mockgcp.cloud.aiplatform.v1beta1.AddExecutionEventsRequest.events:type_name -> mockgcp.cloud.aiplatform.v1beta1.Event + 56, // 20: mockgcp.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest.metadata_schema:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + 56, // 21: mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse.metadata_schemas:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + 0, // 22: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateMetadataStoreRequest + 2, // 23: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetMetadataStoreRequest + 3, // 24: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresRequest + 5, // 25: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteMetadataStoreRequest + 7, // 26: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateArtifactRequest + 8, // 27: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetArtifact:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetArtifactRequest + 9, // 28: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListArtifactsRequest + 11, // 29: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateArtifactRequest + 12, // 30: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteArtifactRequest + 13, // 31: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts:input_type -> mockgcp.cloud.aiplatform.v1beta1.PurgeArtifactsRequest + 16, // 32: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateContext:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateContextRequest + 17, // 33: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetContext:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetContextRequest + 18, // 34: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListContexts:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListContextsRequest + 20, // 35: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateContext:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateContextRequest + 21, // 36: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteContext:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteContextRequest + 22, // 37: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts:input_type -> mockgcp.cloud.aiplatform.v1beta1.PurgeContextsRequest + 25, // 38: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions:input_type -> mockgcp.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsRequest + 27, // 39: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren:input_type -> mockgcp.cloud.aiplatform.v1beta1.AddContextChildrenRequest + 29, // 40: mockgcp.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren:input_type -> mockgcp.cloud.aiplatform.v1beta1.RemoveContextChildrenRequest + 31, // 41: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph:input_type -> mockgcp.cloud.aiplatform.v1beta1.QueryContextLineageSubgraphRequest + 32, // 42: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateExecution:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateExecutionRequest + 33, // 43: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetExecution:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetExecutionRequest + 34, // 44: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListExecutions:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListExecutionsRequest + 36, // 45: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateExecutionRequest + 37, // 46: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteExecutionRequest + 38, // 47: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions:input_type -> mockgcp.cloud.aiplatform.v1beta1.PurgeExecutionsRequest + 41, // 48: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents:input_type -> mockgcp.cloud.aiplatform.v1beta1.AddExecutionEventsRequest + 43, // 49: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs:input_type -> mockgcp.cloud.aiplatform.v1beta1.QueryExecutionInputsAndOutputsRequest + 44, // 50: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateMetadataSchemaRequest + 45, // 51: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetMetadataSchemaRequest + 46, // 52: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasRequest + 48, // 53: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph:input_type -> mockgcp.cloud.aiplatform.v1beta1.QueryArtifactLineageSubgraphRequest + 57, // 54: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore:output_type -> google.longrunning.Operation + 49, // 55: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore:output_type -> mockgcp.cloud.aiplatform.v1beta1.MetadataStore + 4, // 56: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListMetadataStoresResponse + 57, // 57: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore:output_type -> google.longrunning.Operation + 51, // 58: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact:output_type -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 51, // 59: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetArtifact:output_type -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 10, // 60: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListArtifactsResponse + 51, // 61: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact:output_type -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 57, // 62: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact:output_type -> google.longrunning.Operation + 57, // 63: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts:output_type -> google.longrunning.Operation + 53, // 64: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateContext:output_type -> mockgcp.cloud.aiplatform.v1beta1.Context + 53, // 65: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetContext:output_type -> mockgcp.cloud.aiplatform.v1beta1.Context + 19, // 66: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListContexts:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListContextsResponse + 53, // 67: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateContext:output_type -> mockgcp.cloud.aiplatform.v1beta1.Context + 57, // 68: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteContext:output_type -> google.longrunning.Operation + 57, // 69: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts:output_type -> google.longrunning.Operation + 26, // 70: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions:output_type -> mockgcp.cloud.aiplatform.v1beta1.AddContextArtifactsAndExecutionsResponse + 28, // 71: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren:output_type -> mockgcp.cloud.aiplatform.v1beta1.AddContextChildrenResponse + 30, // 72: mockgcp.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren:output_type -> mockgcp.cloud.aiplatform.v1beta1.RemoveContextChildrenResponse + 58, // 73: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph:output_type -> mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph + 54, // 74: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateExecution:output_type -> mockgcp.cloud.aiplatform.v1beta1.Execution + 54, // 75: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetExecution:output_type -> mockgcp.cloud.aiplatform.v1beta1.Execution + 35, // 76: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListExecutions:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListExecutionsResponse + 54, // 77: mockgcp.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution:output_type -> mockgcp.cloud.aiplatform.v1beta1.Execution + 57, // 78: mockgcp.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution:output_type -> google.longrunning.Operation + 57, // 79: mockgcp.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions:output_type -> google.longrunning.Operation + 42, // 80: mockgcp.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents:output_type -> mockgcp.cloud.aiplatform.v1beta1.AddExecutionEventsResponse + 58, // 81: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs:output_type -> mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph + 56, // 82: mockgcp.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema:output_type -> mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + 56, // 83: mockgcp.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema:output_type -> mockgcp.cloud.aiplatform.v1beta1.MetadataSchema + 47, // 84: mockgcp.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListMetadataSchemasResponse + 58, // 85: mockgcp.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph:output_type -> mockgcp.cloud.aiplatform.v1beta1.LineageSubgraph + 54, // [54:86] is the sub-list for method output_type + 22, // [22:54] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_event_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_lineage_subgraph_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_metadata_schema_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMetadataStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMetadataStoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetadataStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMetadataStoresRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMetadataStoresResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMetadataStoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMetadataStoreOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateArtifactRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtifactRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListArtifactsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListArtifactsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateArtifactRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteArtifactRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeArtifactsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeArtifactsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeArtifactsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateContextRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetContextRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListContextsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListContextsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateContextRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteContextRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeContextsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeContextsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeContextsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddContextArtifactsAndExecutionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddContextArtifactsAndExecutionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddContextChildrenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddContextChildrenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveContextChildrenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveContextChildrenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryContextLineageSubgraphRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateExecutionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExecutionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExecutionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExecutionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExecutionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteExecutionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeExecutionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeExecutionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeExecutionsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddExecutionEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddExecutionEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryExecutionInputsAndOutputsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMetadataSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetadataSchemaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMetadataSchemasRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMetadataSchemasResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryArtifactLineageSubgraphRequest); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 49, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.gw.go new file mode 100644 index 0000000000..b7b752014b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service.pb.gw.go @@ -0,0 +1,3988 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/metadata_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_MetadataService_CreateMetadataStore_0 = &utilities.DoubleArray{Encoding: map[string]int{"metadata_store": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_MetadataService_CreateMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateMetadataStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.MetadataStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateMetadataStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateMetadataStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_CreateMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateMetadataStoreRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.MetadataStore); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateMetadataStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateMetadataStore(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_GetMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMetadataStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetMetadataStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_GetMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMetadataStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetMetadataStore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_ListMetadataStores_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_ListMetadataStores_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListMetadataStoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListMetadataStores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListMetadataStores(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_ListMetadataStores_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListMetadataStoresRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListMetadataStores_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListMetadataStores(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_DeleteMetadataStore_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_DeleteMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteMetadataStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteMetadataStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteMetadataStore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_DeleteMetadataStore_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteMetadataStoreRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteMetadataStore_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteMetadataStore(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_CreateArtifact_0 = &utilities.DoubleArray{Encoding: map[string]int{"artifact": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_MetadataService_CreateArtifact_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateArtifactRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Artifact); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_CreateArtifact_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateArtifactRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Artifact); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateArtifact(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_GetArtifact_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetArtifactRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_GetArtifact_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetArtifactRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetArtifact(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_ListArtifacts_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_ListArtifacts_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListArtifactsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListArtifacts_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListArtifacts(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_ListArtifacts_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListArtifactsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListArtifacts_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListArtifacts(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_UpdateArtifact_0 = &utilities.DoubleArray{Encoding: map[string]int{"artifact": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_MetadataService_UpdateArtifact_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateArtifactRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Artifact); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Artifact); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["artifact.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "artifact.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_UpdateArtifact_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateArtifactRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Artifact); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Artifact); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["artifact.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "artifact.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateArtifact(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_DeleteArtifact_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_DeleteArtifact_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteArtifactRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteArtifact(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_DeleteArtifact_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteArtifactRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteArtifact_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteArtifact(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_PurgeArtifacts_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeArtifactsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.PurgeArtifacts(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_PurgeArtifacts_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeArtifactsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.PurgeArtifacts(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_CreateContext_0 = &utilities.DoubleArray{Encoding: map[string]int{"context": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_MetadataService_CreateContext_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateContextRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Context); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateContext(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_CreateContext_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateContextRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Context); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateContext(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_GetContext_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContextRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetContext(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_GetContext_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetContextRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetContext(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_ListContexts_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_ListContexts_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListContextsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListContexts_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListContexts(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_ListContexts_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListContextsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListContexts_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListContexts(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_UpdateContext_0 = &utilities.DoubleArray{Encoding: map[string]int{"context": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_MetadataService_UpdateContext_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateContextRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Context); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Context); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "context.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateContext(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_UpdateContext_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateContextRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Context); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Context); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "context.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateContext(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_DeleteContext_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_DeleteContext_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteContextRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteContext(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_DeleteContext_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteContextRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteContext_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteContext(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_PurgeContexts_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeContextsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.PurgeContexts(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_PurgeContexts_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeContextsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.PurgeContexts(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_AddContextArtifactsAndExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddContextArtifactsAndExecutionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := client.AddContextArtifactsAndExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_AddContextArtifactsAndExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddContextArtifactsAndExecutionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := server.AddContextArtifactsAndExecutions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_AddContextChildren_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddContextChildrenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := client.AddContextChildren(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_AddContextChildren_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddContextChildrenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := server.AddContextChildren(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_RemoveContextChildren_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveContextChildrenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := client.RemoveContextChildren(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_RemoveContextChildren_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RemoveContextChildrenRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := server.RemoveContextChildren(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_QueryContextLineageSubgraph_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryContextLineageSubgraphRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := client.QueryContextLineageSubgraph(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_QueryContextLineageSubgraph_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryContextLineageSubgraphRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["context"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "context") + } + + protoReq.Context, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "context", err) + } + + msg, err := server.QueryContextLineageSubgraph(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_CreateExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"execution": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_MetadataService_CreateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateExecutionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Execution); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_CreateExecution_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateExecutionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Execution); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateExecution(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_GetExecution_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetExecutionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_GetExecution_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetExecutionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetExecution(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_ListExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_ListExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListExecutionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_ListExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListExecutionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListExecutions(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_UpdateExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"execution": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_MetadataService_UpdateExecution_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateExecutionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Execution); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Execution); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "execution.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_UpdateExecution_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateExecutionRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Execution); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Execution); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "execution.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_UpdateExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateExecution(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_DeleteExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_DeleteExecution_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteExecutionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_DeleteExecution_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteExecutionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_DeleteExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteExecution(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_PurgeExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeExecutionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.PurgeExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_PurgeExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PurgeExecutionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.PurgeExecutions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_AddExecutionEvents_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddExecutionEventsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution") + } + + protoReq.Execution, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution", err) + } + + msg, err := client.AddExecutionEvents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_AddExecutionEvents_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AddExecutionEventsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution") + } + + protoReq.Execution, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution", err) + } + + msg, err := server.AddExecutionEvents(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_QueryExecutionInputsAndOutputs_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryExecutionInputsAndOutputsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution") + } + + protoReq.Execution, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution", err) + } + + msg, err := client.QueryExecutionInputsAndOutputs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_QueryExecutionInputsAndOutputs_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryExecutionInputsAndOutputsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["execution"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution") + } + + protoReq.Execution, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution", err) + } + + msg, err := server.QueryExecutionInputsAndOutputs(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_CreateMetadataSchema_0 = &utilities.DoubleArray{Encoding: map[string]int{"metadata_schema": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_MetadataService_CreateMetadataSchema_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateMetadataSchemaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.MetadataSchema); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateMetadataSchema_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateMetadataSchema(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_CreateMetadataSchema_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateMetadataSchemaRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.MetadataSchema); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_CreateMetadataSchema_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateMetadataSchema(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MetadataService_GetMetadataSchema_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMetadataSchemaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetMetadataSchema(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_GetMetadataSchema_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetMetadataSchemaRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetMetadataSchema(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_ListMetadataSchemas_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_ListMetadataSchemas_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListMetadataSchemasRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListMetadataSchemas_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListMetadataSchemas(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_ListMetadataSchemas_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListMetadataSchemasRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_ListMetadataSchemas_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListMetadataSchemas(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_MetadataService_QueryArtifactLineageSubgraph_0 = &utilities.DoubleArray{Encoding: map[string]int{"artifact": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_MetadataService_QueryArtifactLineageSubgraph_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryArtifactLineageSubgraphRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["artifact"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact") + } + + protoReq.Artifact, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_QueryArtifactLineageSubgraph_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.QueryArtifactLineageSubgraph(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MetadataService_QueryArtifactLineageSubgraph_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryArtifactLineageSubgraphRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["artifact"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "artifact") + } + + protoReq.Artifact, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "artifact", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MetadataService_QueryArtifactLineageSubgraph_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.QueryArtifactLineageSubgraph(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterMetadataServiceHandlerServer registers the http handlers for service MetadataService to "mux". +// UnaryRPC :call MetadataServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterMetadataServiceHandlerFromEndpoint instead. +func RegisterMetadataServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MetadataServiceServer) error { + + mux.Handle("POST", pattern_MetadataService_CreateMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/metadataStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_CreateMetadataStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_GetMetadataStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListMetadataStores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataStores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/metadataStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_ListMetadataStores_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListMetadataStores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_DeleteMetadataStore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateArtifact", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_CreateArtifact_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetArtifact", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_GetArtifact_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListArtifacts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_ListArtifacts_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListArtifacts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateArtifact", runtime.WithHTTPPathPattern("/v1beta1/{artifact.name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_UpdateArtifact_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteArtifact", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_DeleteArtifact_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeArtifacts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_PurgeArtifacts_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeArtifacts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateContext", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_CreateContext_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetContext", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_GetContext_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListContexts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListContexts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_ListContexts_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListContexts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateContext", runtime.WithHTTPPathPattern("/v1beta1/{context.name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_UpdateContext_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteContext", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_DeleteContext_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeContexts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeContexts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_PurgeContexts_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeContexts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddContextArtifactsAndExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextArtifactsAndExecutions", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextArtifactsAndExecutions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_AddContextArtifactsAndExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddContextArtifactsAndExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddContextChildren_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextChildren", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextChildren")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_AddContextChildren_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddContextChildren_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_RemoveContextChildren_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/RemoveContextChildren", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:removeContextChildren")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_RemoveContextChildren_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_RemoveContextChildren_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryContextLineageSubgraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryContextLineageSubgraph", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:queryContextLineageSubgraph")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_QueryContextLineageSubgraph_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryContextLineageSubgraph_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateExecution", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_CreateExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetExecution", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_GetExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListExecutions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_ListExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateExecution", runtime.WithHTTPPathPattern("/v1beta1/{execution.name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_UpdateExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteExecution", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_DeleteExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeExecutions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_PurgeExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddExecutionEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddExecutionEvents", runtime.WithHTTPPathPattern("/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:addExecutionEvents")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_AddExecutionEvents_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddExecutionEvents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryExecutionInputsAndOutputs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryExecutionInputsAndOutputs", runtime.WithHTTPPathPattern("/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:queryExecutionInputsAndOutputs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_QueryExecutionInputsAndOutputs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryExecutionInputsAndOutputs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateMetadataSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataSchema", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_CreateMetadataSchema_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateMetadataSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetMetadataSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataSchema", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/metadataSchemas/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_GetMetadataSchema_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetMetadataSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListMetadataSchemas_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataSchemas", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_ListMetadataSchemas_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListMetadataSchemas_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryArtifactLineageSubgraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryArtifactLineageSubgraph", runtime.WithHTTPPathPattern("/v1beta1/{artifact=projects/*/locations/*/metadataStores/*/artifacts/*}:queryArtifactLineageSubgraph")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MetadataService_QueryArtifactLineageSubgraph_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryArtifactLineageSubgraph_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterMetadataServiceHandlerFromEndpoint is same as RegisterMetadataServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterMetadataServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterMetadataServiceHandler(ctx, mux, conn) +} + +// RegisterMetadataServiceHandler registers the http handlers for service MetadataService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterMetadataServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterMetadataServiceHandlerClient(ctx, mux, NewMetadataServiceClient(conn)) +} + +// RegisterMetadataServiceHandlerClient registers the http handlers for service MetadataService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MetadataServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MetadataServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "MetadataServiceClient" to call the correct interceptors. +func RegisterMetadataServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MetadataServiceClient) error { + + mux.Handle("POST", pattern_MetadataService_CreateMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/metadataStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_CreateMetadataStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_GetMetadataStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListMetadataStores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataStores", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/metadataStores")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_ListMetadataStores_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListMetadataStores_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteMetadataStore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteMetadataStore", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_DeleteMetadataStore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteMetadataStore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateArtifact", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_CreateArtifact_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetArtifact", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_GetArtifact_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListArtifacts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_ListArtifacts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListArtifacts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateArtifact", runtime.WithHTTPPathPattern("/v1beta1/{artifact.name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_UpdateArtifact_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteArtifact_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteArtifact", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/artifacts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_DeleteArtifact_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteArtifact_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeArtifacts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeArtifacts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/artifacts:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_PurgeArtifacts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeArtifacts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateContext", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_CreateContext_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetContext", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_GetContext_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListContexts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListContexts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_ListContexts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListContexts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateContext", runtime.WithHTTPPathPattern("/v1beta1/{context.name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_UpdateContext_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteContext_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteContext", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/contexts/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_DeleteContext_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteContext_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeContexts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeContexts", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/contexts:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_PurgeContexts_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeContexts_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddContextArtifactsAndExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextArtifactsAndExecutions", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextArtifactsAndExecutions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_AddContextArtifactsAndExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddContextArtifactsAndExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddContextChildren_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextChildren", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:addContextChildren")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_AddContextChildren_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddContextChildren_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_RemoveContextChildren_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/RemoveContextChildren", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:removeContextChildren")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_RemoveContextChildren_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_RemoveContextChildren_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryContextLineageSubgraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryContextLineageSubgraph", runtime.WithHTTPPathPattern("/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:queryContextLineageSubgraph")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_QueryContextLineageSubgraph_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryContextLineageSubgraph_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateExecution", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_CreateExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetExecution", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_GetExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListExecutions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_ListExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_MetadataService_UpdateExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateExecution", runtime.WithHTTPPathPattern("/v1beta1/{execution.name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_UpdateExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_UpdateExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_MetadataService_DeleteExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteExecution", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/executions/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_DeleteExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_DeleteExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_PurgeExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeExecutions", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/executions:purge")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_PurgeExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_PurgeExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_AddExecutionEvents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddExecutionEvents", runtime.WithHTTPPathPattern("/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:addExecutionEvents")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_AddExecutionEvents_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_AddExecutionEvents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryExecutionInputsAndOutputs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryExecutionInputsAndOutputs", runtime.WithHTTPPathPattern("/v1beta1/{execution=projects/*/locations/*/metadataStores/*/executions/*}:queryExecutionInputsAndOutputs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_QueryExecutionInputsAndOutputs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryExecutionInputsAndOutputs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MetadataService_CreateMetadataSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataSchema", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_CreateMetadataSchema_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_CreateMetadataSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_GetMetadataSchema_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataSchema", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/metadataStores/*/metadataSchemas/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_GetMetadataSchema_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_GetMetadataSchema_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_ListMetadataSchemas_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataSchemas", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/metadataStores/*}/metadataSchemas")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_ListMetadataSchemas_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_ListMetadataSchemas_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_MetadataService_QueryArtifactLineageSubgraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryArtifactLineageSubgraph", runtime.WithHTTPPathPattern("/v1beta1/{artifact=projects/*/locations/*/metadataStores/*/artifacts/*}:queryArtifactLineageSubgraph")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MetadataService_QueryArtifactLineageSubgraph_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MetadataService_QueryArtifactLineageSubgraph_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_MetadataService_CreateMetadataStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "metadataStores"}, "")) + + pattern_MetadataService_GetMetadataStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "metadataStores", "name"}, "")) + + pattern_MetadataService_ListMetadataStores_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "metadataStores"}, "")) + + pattern_MetadataService_DeleteMetadataStore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "metadataStores", "name"}, "")) + + pattern_MetadataService_CreateArtifact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "artifacts"}, "")) + + pattern_MetadataService_GetArtifact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "artifacts", "name"}, "")) + + pattern_MetadataService_ListArtifacts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "artifacts"}, "")) + + pattern_MetadataService_UpdateArtifact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "artifacts", "artifact.name"}, "")) + + pattern_MetadataService_DeleteArtifact_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "artifacts", "name"}, "")) + + pattern_MetadataService_PurgeArtifacts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "artifacts"}, "purge")) + + pattern_MetadataService_CreateContext_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "contexts"}, "")) + + pattern_MetadataService_GetContext_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "name"}, "")) + + pattern_MetadataService_ListContexts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "contexts"}, "")) + + pattern_MetadataService_UpdateContext_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "context.name"}, "")) + + pattern_MetadataService_DeleteContext_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "name"}, "")) + + pattern_MetadataService_PurgeContexts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "contexts"}, "purge")) + + pattern_MetadataService_AddContextArtifactsAndExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "context"}, "addContextArtifactsAndExecutions")) + + pattern_MetadataService_AddContextChildren_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "context"}, "addContextChildren")) + + pattern_MetadataService_RemoveContextChildren_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "context"}, "removeContextChildren")) + + pattern_MetadataService_QueryContextLineageSubgraph_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "contexts", "context"}, "queryContextLineageSubgraph")) + + pattern_MetadataService_CreateExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "executions"}, "")) + + pattern_MetadataService_GetExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "executions", "name"}, "")) + + pattern_MetadataService_ListExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "executions"}, "")) + + pattern_MetadataService_UpdateExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "executions", "execution.name"}, "")) + + pattern_MetadataService_DeleteExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "executions", "name"}, "")) + + pattern_MetadataService_PurgeExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "executions"}, "purge")) + + pattern_MetadataService_AddExecutionEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "executions", "execution"}, "addExecutionEvents")) + + pattern_MetadataService_QueryExecutionInputsAndOutputs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "executions", "execution"}, "queryExecutionInputsAndOutputs")) + + pattern_MetadataService_CreateMetadataSchema_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "metadataSchemas"}, "")) + + pattern_MetadataService_GetMetadataSchema_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "metadataSchemas", "name"}, "")) + + pattern_MetadataService_ListMetadataSchemas_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "parent", "metadataSchemas"}, "")) + + pattern_MetadataService_QueryArtifactLineageSubgraph_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "metadataStores", "artifacts", "artifact"}, "queryArtifactLineageSubgraph")) +) + +var ( + forward_MetadataService_CreateMetadataStore_0 = runtime.ForwardResponseMessage + + forward_MetadataService_GetMetadataStore_0 = runtime.ForwardResponseMessage + + forward_MetadataService_ListMetadataStores_0 = runtime.ForwardResponseMessage + + forward_MetadataService_DeleteMetadataStore_0 = runtime.ForwardResponseMessage + + forward_MetadataService_CreateArtifact_0 = runtime.ForwardResponseMessage + + forward_MetadataService_GetArtifact_0 = runtime.ForwardResponseMessage + + forward_MetadataService_ListArtifacts_0 = runtime.ForwardResponseMessage + + forward_MetadataService_UpdateArtifact_0 = runtime.ForwardResponseMessage + + forward_MetadataService_DeleteArtifact_0 = runtime.ForwardResponseMessage + + forward_MetadataService_PurgeArtifacts_0 = runtime.ForwardResponseMessage + + forward_MetadataService_CreateContext_0 = runtime.ForwardResponseMessage + + forward_MetadataService_GetContext_0 = runtime.ForwardResponseMessage + + forward_MetadataService_ListContexts_0 = runtime.ForwardResponseMessage + + forward_MetadataService_UpdateContext_0 = runtime.ForwardResponseMessage + + forward_MetadataService_DeleteContext_0 = runtime.ForwardResponseMessage + + forward_MetadataService_PurgeContexts_0 = runtime.ForwardResponseMessage + + forward_MetadataService_AddContextArtifactsAndExecutions_0 = runtime.ForwardResponseMessage + + forward_MetadataService_AddContextChildren_0 = runtime.ForwardResponseMessage + + forward_MetadataService_RemoveContextChildren_0 = runtime.ForwardResponseMessage + + forward_MetadataService_QueryContextLineageSubgraph_0 = runtime.ForwardResponseMessage + + forward_MetadataService_CreateExecution_0 = runtime.ForwardResponseMessage + + forward_MetadataService_GetExecution_0 = runtime.ForwardResponseMessage + + forward_MetadataService_ListExecutions_0 = runtime.ForwardResponseMessage + + forward_MetadataService_UpdateExecution_0 = runtime.ForwardResponseMessage + + forward_MetadataService_DeleteExecution_0 = runtime.ForwardResponseMessage + + forward_MetadataService_PurgeExecutions_0 = runtime.ForwardResponseMessage + + forward_MetadataService_AddExecutionEvents_0 = runtime.ForwardResponseMessage + + forward_MetadataService_QueryExecutionInputsAndOutputs_0 = runtime.ForwardResponseMessage + + forward_MetadataService_CreateMetadataSchema_0 = runtime.ForwardResponseMessage + + forward_MetadataService_GetMetadataSchema_0 = runtime.ForwardResponseMessage + + forward_MetadataService_ListMetadataSchemas_0 = runtime.ForwardResponseMessage + + forward_MetadataService_QueryArtifactLineageSubgraph_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service_grpc.pb.go new file mode 100644 index 0000000000..77e1c3685a --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_service_grpc.pb.go @@ -0,0 +1,1318 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/metadata_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// MetadataServiceClient is the client API for MetadataService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MetadataServiceClient interface { + // Initializes a MetadataStore, including allocation of resources. + CreateMetadataStore(ctx context.Context, in *CreateMetadataStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Retrieves a specific MetadataStore. + GetMetadataStore(ctx context.Context, in *GetMetadataStoreRequest, opts ...grpc.CallOption) (*MetadataStore, error) + // Lists MetadataStores for a Location. + ListMetadataStores(ctx context.Context, in *ListMetadataStoresRequest, opts ...grpc.CallOption) (*ListMetadataStoresResponse, error) + // Deletes a single MetadataStore and all its child resources (Artifacts, + // Executions, and Contexts). + DeleteMetadataStore(ctx context.Context, in *DeleteMetadataStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates an Artifact associated with a MetadataStore. + CreateArtifact(ctx context.Context, in *CreateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) + // Retrieves a specific Artifact. + GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) + // Lists Artifacts in the MetadataStore. + ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error) + // Updates a stored Artifact. + UpdateArtifact(ctx context.Context, in *UpdateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) + // Deletes an Artifact. + DeleteArtifact(ctx context.Context, in *DeleteArtifactRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Purges Artifacts. + PurgeArtifacts(ctx context.Context, in *PurgeArtifactsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a Context associated with a MetadataStore. + CreateContext(ctx context.Context, in *CreateContextRequest, opts ...grpc.CallOption) (*Context, error) + // Retrieves a specific Context. + GetContext(ctx context.Context, in *GetContextRequest, opts ...grpc.CallOption) (*Context, error) + // Lists Contexts on the MetadataStore. + ListContexts(ctx context.Context, in *ListContextsRequest, opts ...grpc.CallOption) (*ListContextsResponse, error) + // Updates a stored Context. + UpdateContext(ctx context.Context, in *UpdateContextRequest, opts ...grpc.CallOption) (*Context, error) + // Deletes a stored Context. + DeleteContext(ctx context.Context, in *DeleteContextRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Purges Contexts. + PurgeContexts(ctx context.Context, in *PurgeContextsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Adds a set of Artifacts and Executions to a Context. If any of the + // Artifacts or Executions have already been added to a Context, they are + // simply skipped. + AddContextArtifactsAndExecutions(ctx context.Context, in *AddContextArtifactsAndExecutionsRequest, opts ...grpc.CallOption) (*AddContextArtifactsAndExecutionsResponse, error) + // Adds a set of Contexts as children to a parent Context. If any of the + // child Contexts have already been added to the parent Context, they are + // simply skipped. If this call would create a cycle or cause any Context to + // have more than 10 parents, the request will fail with an INVALID_ARGUMENT + // error. + AddContextChildren(ctx context.Context, in *AddContextChildrenRequest, opts ...grpc.CallOption) (*AddContextChildrenResponse, error) + // Remove a set of children contexts from a parent Context. If any of the + // child Contexts were NOT added to the parent Context, they are + // simply skipped. + RemoveContextChildren(ctx context.Context, in *RemoveContextChildrenRequest, opts ...grpc.CallOption) (*RemoveContextChildrenResponse, error) + // Retrieves Artifacts and Executions within the specified Context, connected + // by Event edges and returned as a LineageSubgraph. + QueryContextLineageSubgraph(ctx context.Context, in *QueryContextLineageSubgraphRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) + // Creates an Execution associated with a MetadataStore. + CreateExecution(ctx context.Context, in *CreateExecutionRequest, opts ...grpc.CallOption) (*Execution, error) + // Retrieves a specific Execution. + GetExecution(ctx context.Context, in *GetExecutionRequest, opts ...grpc.CallOption) (*Execution, error) + // Lists Executions in the MetadataStore. + ListExecutions(ctx context.Context, in *ListExecutionsRequest, opts ...grpc.CallOption) (*ListExecutionsResponse, error) + // Updates a stored Execution. + UpdateExecution(ctx context.Context, in *UpdateExecutionRequest, opts ...grpc.CallOption) (*Execution, error) + // Deletes an Execution. + DeleteExecution(ctx context.Context, in *DeleteExecutionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Purges Executions. + PurgeExecutions(ctx context.Context, in *PurgeExecutionsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Adds Events to the specified Execution. An Event indicates whether an + // Artifact was used as an input or output for an Execution. If an Event + // already exists between the Execution and the Artifact, the Event is + // skipped. + AddExecutionEvents(ctx context.Context, in *AddExecutionEventsRequest, opts ...grpc.CallOption) (*AddExecutionEventsResponse, error) + // Obtains the set of input and output Artifacts for this Execution, in the + // form of LineageSubgraph that also contains the Execution and connecting + // Events. + QueryExecutionInputsAndOutputs(ctx context.Context, in *QueryExecutionInputsAndOutputsRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) + // Creates a MetadataSchema. + CreateMetadataSchema(ctx context.Context, in *CreateMetadataSchemaRequest, opts ...grpc.CallOption) (*MetadataSchema, error) + // Retrieves a specific MetadataSchema. + GetMetadataSchema(ctx context.Context, in *GetMetadataSchemaRequest, opts ...grpc.CallOption) (*MetadataSchema, error) + // Lists MetadataSchemas. + ListMetadataSchemas(ctx context.Context, in *ListMetadataSchemasRequest, opts ...grpc.CallOption) (*ListMetadataSchemasResponse, error) + // Retrieves lineage of an Artifact represented through Artifacts and + // Executions connected by Event edges and returned as a LineageSubgraph. + QueryArtifactLineageSubgraph(ctx context.Context, in *QueryArtifactLineageSubgraphRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) +} + +type metadataServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewMetadataServiceClient(cc grpc.ClientConnInterface) MetadataServiceClient { + return &metadataServiceClient{cc} +} + +func (c *metadataServiceClient) CreateMetadataStore(ctx context.Context, in *CreateMetadataStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) GetMetadataStore(ctx context.Context, in *GetMetadataStoreRequest, opts ...grpc.CallOption) (*MetadataStore, error) { + out := new(MetadataStore) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) ListMetadataStores(ctx context.Context, in *ListMetadataStoresRequest, opts ...grpc.CallOption) (*ListMetadataStoresResponse, error) { + out := new(ListMetadataStoresResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataStores", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) DeleteMetadataStore(ctx context.Context, in *DeleteMetadataStoreRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteMetadataStore", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) CreateArtifact(ctx context.Context, in *CreateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) { + out := new(Artifact) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateArtifact", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) { + out := new(Artifact) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetArtifact", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error) { + out := new(ListArtifactsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListArtifacts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) UpdateArtifact(ctx context.Context, in *UpdateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) { + out := new(Artifact) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateArtifact", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) DeleteArtifact(ctx context.Context, in *DeleteArtifactRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteArtifact", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) PurgeArtifacts(ctx context.Context, in *PurgeArtifactsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeArtifacts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) CreateContext(ctx context.Context, in *CreateContextRequest, opts ...grpc.CallOption) (*Context, error) { + out := new(Context) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateContext", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) GetContext(ctx context.Context, in *GetContextRequest, opts ...grpc.CallOption) (*Context, error) { + out := new(Context) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetContext", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) ListContexts(ctx context.Context, in *ListContextsRequest, opts ...grpc.CallOption) (*ListContextsResponse, error) { + out := new(ListContextsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListContexts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) UpdateContext(ctx context.Context, in *UpdateContextRequest, opts ...grpc.CallOption) (*Context, error) { + out := new(Context) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateContext", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) DeleteContext(ctx context.Context, in *DeleteContextRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteContext", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) PurgeContexts(ctx context.Context, in *PurgeContextsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeContexts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) AddContextArtifactsAndExecutions(ctx context.Context, in *AddContextArtifactsAndExecutionsRequest, opts ...grpc.CallOption) (*AddContextArtifactsAndExecutionsResponse, error) { + out := new(AddContextArtifactsAndExecutionsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextArtifactsAndExecutions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) AddContextChildren(ctx context.Context, in *AddContextChildrenRequest, opts ...grpc.CallOption) (*AddContextChildrenResponse, error) { + out := new(AddContextChildrenResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextChildren", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) RemoveContextChildren(ctx context.Context, in *RemoveContextChildrenRequest, opts ...grpc.CallOption) (*RemoveContextChildrenResponse, error) { + out := new(RemoveContextChildrenResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/RemoveContextChildren", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) QueryContextLineageSubgraph(ctx context.Context, in *QueryContextLineageSubgraphRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) { + out := new(LineageSubgraph) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryContextLineageSubgraph", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) CreateExecution(ctx context.Context, in *CreateExecutionRequest, opts ...grpc.CallOption) (*Execution, error) { + out := new(Execution) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateExecution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) GetExecution(ctx context.Context, in *GetExecutionRequest, opts ...grpc.CallOption) (*Execution, error) { + out := new(Execution) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetExecution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) ListExecutions(ctx context.Context, in *ListExecutionsRequest, opts ...grpc.CallOption) (*ListExecutionsResponse, error) { + out := new(ListExecutionsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListExecutions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) UpdateExecution(ctx context.Context, in *UpdateExecutionRequest, opts ...grpc.CallOption) (*Execution, error) { + out := new(Execution) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateExecution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) DeleteExecution(ctx context.Context, in *DeleteExecutionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteExecution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) PurgeExecutions(ctx context.Context, in *PurgeExecutionsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeExecutions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) AddExecutionEvents(ctx context.Context, in *AddExecutionEventsRequest, opts ...grpc.CallOption) (*AddExecutionEventsResponse, error) { + out := new(AddExecutionEventsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddExecutionEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) QueryExecutionInputsAndOutputs(ctx context.Context, in *QueryExecutionInputsAndOutputsRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) { + out := new(LineageSubgraph) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryExecutionInputsAndOutputs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) CreateMetadataSchema(ctx context.Context, in *CreateMetadataSchemaRequest, opts ...grpc.CallOption) (*MetadataSchema, error) { + out := new(MetadataSchema) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataSchema", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) GetMetadataSchema(ctx context.Context, in *GetMetadataSchemaRequest, opts ...grpc.CallOption) (*MetadataSchema, error) { + out := new(MetadataSchema) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataSchema", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) ListMetadataSchemas(ctx context.Context, in *ListMetadataSchemasRequest, opts ...grpc.CallOption) (*ListMetadataSchemasResponse, error) { + out := new(ListMetadataSchemasResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataSchemas", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *metadataServiceClient) QueryArtifactLineageSubgraph(ctx context.Context, in *QueryArtifactLineageSubgraphRequest, opts ...grpc.CallOption) (*LineageSubgraph, error) { + out := new(LineageSubgraph) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryArtifactLineageSubgraph", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MetadataServiceServer is the server API for MetadataService service. +// All implementations must embed UnimplementedMetadataServiceServer +// for forward compatibility +type MetadataServiceServer interface { + // Initializes a MetadataStore, including allocation of resources. + CreateMetadataStore(context.Context, *CreateMetadataStoreRequest) (*longrunningpb.Operation, error) + // Retrieves a specific MetadataStore. + GetMetadataStore(context.Context, *GetMetadataStoreRequest) (*MetadataStore, error) + // Lists MetadataStores for a Location. + ListMetadataStores(context.Context, *ListMetadataStoresRequest) (*ListMetadataStoresResponse, error) + // Deletes a single MetadataStore and all its child resources (Artifacts, + // Executions, and Contexts). + DeleteMetadataStore(context.Context, *DeleteMetadataStoreRequest) (*longrunningpb.Operation, error) + // Creates an Artifact associated with a MetadataStore. + CreateArtifact(context.Context, *CreateArtifactRequest) (*Artifact, error) + // Retrieves a specific Artifact. + GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error) + // Lists Artifacts in the MetadataStore. + ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error) + // Updates a stored Artifact. + UpdateArtifact(context.Context, *UpdateArtifactRequest) (*Artifact, error) + // Deletes an Artifact. + DeleteArtifact(context.Context, *DeleteArtifactRequest) (*longrunningpb.Operation, error) + // Purges Artifacts. + PurgeArtifacts(context.Context, *PurgeArtifactsRequest) (*longrunningpb.Operation, error) + // Creates a Context associated with a MetadataStore. + CreateContext(context.Context, *CreateContextRequest) (*Context, error) + // Retrieves a specific Context. + GetContext(context.Context, *GetContextRequest) (*Context, error) + // Lists Contexts on the MetadataStore. + ListContexts(context.Context, *ListContextsRequest) (*ListContextsResponse, error) + // Updates a stored Context. + UpdateContext(context.Context, *UpdateContextRequest) (*Context, error) + // Deletes a stored Context. + DeleteContext(context.Context, *DeleteContextRequest) (*longrunningpb.Operation, error) + // Purges Contexts. + PurgeContexts(context.Context, *PurgeContextsRequest) (*longrunningpb.Operation, error) + // Adds a set of Artifacts and Executions to a Context. If any of the + // Artifacts or Executions have already been added to a Context, they are + // simply skipped. + AddContextArtifactsAndExecutions(context.Context, *AddContextArtifactsAndExecutionsRequest) (*AddContextArtifactsAndExecutionsResponse, error) + // Adds a set of Contexts as children to a parent Context. If any of the + // child Contexts have already been added to the parent Context, they are + // simply skipped. If this call would create a cycle or cause any Context to + // have more than 10 parents, the request will fail with an INVALID_ARGUMENT + // error. + AddContextChildren(context.Context, *AddContextChildrenRequest) (*AddContextChildrenResponse, error) + // Remove a set of children contexts from a parent Context. If any of the + // child Contexts were NOT added to the parent Context, they are + // simply skipped. + RemoveContextChildren(context.Context, *RemoveContextChildrenRequest) (*RemoveContextChildrenResponse, error) + // Retrieves Artifacts and Executions within the specified Context, connected + // by Event edges and returned as a LineageSubgraph. + QueryContextLineageSubgraph(context.Context, *QueryContextLineageSubgraphRequest) (*LineageSubgraph, error) + // Creates an Execution associated with a MetadataStore. + CreateExecution(context.Context, *CreateExecutionRequest) (*Execution, error) + // Retrieves a specific Execution. + GetExecution(context.Context, *GetExecutionRequest) (*Execution, error) + // Lists Executions in the MetadataStore. + ListExecutions(context.Context, *ListExecutionsRequest) (*ListExecutionsResponse, error) + // Updates a stored Execution. + UpdateExecution(context.Context, *UpdateExecutionRequest) (*Execution, error) + // Deletes an Execution. + DeleteExecution(context.Context, *DeleteExecutionRequest) (*longrunningpb.Operation, error) + // Purges Executions. + PurgeExecutions(context.Context, *PurgeExecutionsRequest) (*longrunningpb.Operation, error) + // Adds Events to the specified Execution. An Event indicates whether an + // Artifact was used as an input or output for an Execution. If an Event + // already exists between the Execution and the Artifact, the Event is + // skipped. + AddExecutionEvents(context.Context, *AddExecutionEventsRequest) (*AddExecutionEventsResponse, error) + // Obtains the set of input and output Artifacts for this Execution, in the + // form of LineageSubgraph that also contains the Execution and connecting + // Events. + QueryExecutionInputsAndOutputs(context.Context, *QueryExecutionInputsAndOutputsRequest) (*LineageSubgraph, error) + // Creates a MetadataSchema. + CreateMetadataSchema(context.Context, *CreateMetadataSchemaRequest) (*MetadataSchema, error) + // Retrieves a specific MetadataSchema. + GetMetadataSchema(context.Context, *GetMetadataSchemaRequest) (*MetadataSchema, error) + // Lists MetadataSchemas. + ListMetadataSchemas(context.Context, *ListMetadataSchemasRequest) (*ListMetadataSchemasResponse, error) + // Retrieves lineage of an Artifact represented through Artifacts and + // Executions connected by Event edges and returned as a LineageSubgraph. + QueryArtifactLineageSubgraph(context.Context, *QueryArtifactLineageSubgraphRequest) (*LineageSubgraph, error) + mustEmbedUnimplementedMetadataServiceServer() +} + +// UnimplementedMetadataServiceServer must be embedded to have forward compatible implementations. +type UnimplementedMetadataServiceServer struct { +} + +func (UnimplementedMetadataServiceServer) CreateMetadataStore(context.Context, *CreateMetadataStoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMetadataStore not implemented") +} +func (UnimplementedMetadataServiceServer) GetMetadataStore(context.Context, *GetMetadataStoreRequest) (*MetadataStore, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMetadataStore not implemented") +} +func (UnimplementedMetadataServiceServer) ListMetadataStores(context.Context, *ListMetadataStoresRequest) (*ListMetadataStoresResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListMetadataStores not implemented") +} +func (UnimplementedMetadataServiceServer) DeleteMetadataStore(context.Context, *DeleteMetadataStoreRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMetadataStore not implemented") +} +func (UnimplementedMetadataServiceServer) CreateArtifact(context.Context, *CreateArtifactRequest) (*Artifact, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateArtifact not implemented") +} +func (UnimplementedMetadataServiceServer) GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtifact not implemented") +} +func (UnimplementedMetadataServiceServer) ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListArtifacts not implemented") +} +func (UnimplementedMetadataServiceServer) UpdateArtifact(context.Context, *UpdateArtifactRequest) (*Artifact, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtifact not implemented") +} +func (UnimplementedMetadataServiceServer) DeleteArtifact(context.Context, *DeleteArtifactRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteArtifact not implemented") +} +func (UnimplementedMetadataServiceServer) PurgeArtifacts(context.Context, *PurgeArtifactsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeArtifacts not implemented") +} +func (UnimplementedMetadataServiceServer) CreateContext(context.Context, *CreateContextRequest) (*Context, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateContext not implemented") +} +func (UnimplementedMetadataServiceServer) GetContext(context.Context, *GetContextRequest) (*Context, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetContext not implemented") +} +func (UnimplementedMetadataServiceServer) ListContexts(context.Context, *ListContextsRequest) (*ListContextsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListContexts not implemented") +} +func (UnimplementedMetadataServiceServer) UpdateContext(context.Context, *UpdateContextRequest) (*Context, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateContext not implemented") +} +func (UnimplementedMetadataServiceServer) DeleteContext(context.Context, *DeleteContextRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteContext not implemented") +} +func (UnimplementedMetadataServiceServer) PurgeContexts(context.Context, *PurgeContextsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeContexts not implemented") +} +func (UnimplementedMetadataServiceServer) AddContextArtifactsAndExecutions(context.Context, *AddContextArtifactsAndExecutionsRequest) (*AddContextArtifactsAndExecutionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddContextArtifactsAndExecutions not implemented") +} +func (UnimplementedMetadataServiceServer) AddContextChildren(context.Context, *AddContextChildrenRequest) (*AddContextChildrenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddContextChildren not implemented") +} +func (UnimplementedMetadataServiceServer) RemoveContextChildren(context.Context, *RemoveContextChildrenRequest) (*RemoveContextChildrenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveContextChildren not implemented") +} +func (UnimplementedMetadataServiceServer) QueryContextLineageSubgraph(context.Context, *QueryContextLineageSubgraphRequest) (*LineageSubgraph, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryContextLineageSubgraph not implemented") +} +func (UnimplementedMetadataServiceServer) CreateExecution(context.Context, *CreateExecutionRequest) (*Execution, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateExecution not implemented") +} +func (UnimplementedMetadataServiceServer) GetExecution(context.Context, *GetExecutionRequest) (*Execution, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExecution not implemented") +} +func (UnimplementedMetadataServiceServer) ListExecutions(context.Context, *ListExecutionsRequest) (*ListExecutionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExecutions not implemented") +} +func (UnimplementedMetadataServiceServer) UpdateExecution(context.Context, *UpdateExecutionRequest) (*Execution, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExecution not implemented") +} +func (UnimplementedMetadataServiceServer) DeleteExecution(context.Context, *DeleteExecutionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteExecution not implemented") +} +func (UnimplementedMetadataServiceServer) PurgeExecutions(context.Context, *PurgeExecutionsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeExecutions not implemented") +} +func (UnimplementedMetadataServiceServer) AddExecutionEvents(context.Context, *AddExecutionEventsRequest) (*AddExecutionEventsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddExecutionEvents not implemented") +} +func (UnimplementedMetadataServiceServer) QueryExecutionInputsAndOutputs(context.Context, *QueryExecutionInputsAndOutputsRequest) (*LineageSubgraph, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryExecutionInputsAndOutputs not implemented") +} +func (UnimplementedMetadataServiceServer) CreateMetadataSchema(context.Context, *CreateMetadataSchemaRequest) (*MetadataSchema, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMetadataSchema not implemented") +} +func (UnimplementedMetadataServiceServer) GetMetadataSchema(context.Context, *GetMetadataSchemaRequest) (*MetadataSchema, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMetadataSchema not implemented") +} +func (UnimplementedMetadataServiceServer) ListMetadataSchemas(context.Context, *ListMetadataSchemasRequest) (*ListMetadataSchemasResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListMetadataSchemas not implemented") +} +func (UnimplementedMetadataServiceServer) QueryArtifactLineageSubgraph(context.Context, *QueryArtifactLineageSubgraphRequest) (*LineageSubgraph, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryArtifactLineageSubgraph not implemented") +} +func (UnimplementedMetadataServiceServer) mustEmbedUnimplementedMetadataServiceServer() {} + +// UnsafeMetadataServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MetadataServiceServer will +// result in compilation errors. +type UnsafeMetadataServiceServer interface { + mustEmbedUnimplementedMetadataServiceServer() +} + +func RegisterMetadataServiceServer(s grpc.ServiceRegistrar, srv MetadataServiceServer) { + s.RegisterService(&MetadataService_ServiceDesc, srv) +} + +func _MetadataService_CreateMetadataStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateMetadataStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).CreateMetadataStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).CreateMetadataStore(ctx, req.(*CreateMetadataStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_GetMetadataStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMetadataStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).GetMetadataStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).GetMetadataStore(ctx, req.(*GetMetadataStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_ListMetadataStores_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListMetadataStoresRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).ListMetadataStores(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataStores", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).ListMetadataStores(ctx, req.(*ListMetadataStoresRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_DeleteMetadataStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMetadataStoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).DeleteMetadataStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteMetadataStore", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).DeleteMetadataStore(ctx, req.(*DeleteMetadataStoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_CreateArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateArtifactRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).CreateArtifact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateArtifact", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).CreateArtifact(ctx, req.(*CreateArtifactRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_GetArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtifactRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).GetArtifact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetArtifact", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).GetArtifact(ctx, req.(*GetArtifactRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_ListArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListArtifactsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).ListArtifacts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListArtifacts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).ListArtifacts(ctx, req.(*ListArtifactsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_UpdateArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateArtifactRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).UpdateArtifact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateArtifact", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).UpdateArtifact(ctx, req.(*UpdateArtifactRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_DeleteArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteArtifactRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).DeleteArtifact(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteArtifact", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).DeleteArtifact(ctx, req.(*DeleteArtifactRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_PurgeArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeArtifactsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).PurgeArtifacts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeArtifacts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).PurgeArtifacts(ctx, req.(*PurgeArtifactsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_CreateContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateContextRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).CreateContext(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateContext", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).CreateContext(ctx, req.(*CreateContextRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_GetContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetContextRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).GetContext(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetContext", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).GetContext(ctx, req.(*GetContextRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_ListContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListContextsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).ListContexts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListContexts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).ListContexts(ctx, req.(*ListContextsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_UpdateContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateContextRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).UpdateContext(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateContext", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).UpdateContext(ctx, req.(*UpdateContextRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_DeleteContext_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteContextRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).DeleteContext(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteContext", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).DeleteContext(ctx, req.(*DeleteContextRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_PurgeContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeContextsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).PurgeContexts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeContexts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).PurgeContexts(ctx, req.(*PurgeContextsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_AddContextArtifactsAndExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddContextArtifactsAndExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).AddContextArtifactsAndExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextArtifactsAndExecutions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).AddContextArtifactsAndExecutions(ctx, req.(*AddContextArtifactsAndExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_AddContextChildren_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddContextChildrenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).AddContextChildren(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddContextChildren", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).AddContextChildren(ctx, req.(*AddContextChildrenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_RemoveContextChildren_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveContextChildrenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).RemoveContextChildren(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/RemoveContextChildren", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).RemoveContextChildren(ctx, req.(*RemoveContextChildrenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_QueryContextLineageSubgraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryContextLineageSubgraphRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).QueryContextLineageSubgraph(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryContextLineageSubgraph", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).QueryContextLineageSubgraph(ctx, req.(*QueryContextLineageSubgraphRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_CreateExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).CreateExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateExecution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).CreateExecution(ctx, req.(*CreateExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_GetExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).GetExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetExecution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).GetExecution(ctx, req.(*GetExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_ListExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).ListExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListExecutions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).ListExecutions(ctx, req.(*ListExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_UpdateExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).UpdateExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/UpdateExecution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).UpdateExecution(ctx, req.(*UpdateExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_DeleteExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).DeleteExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/DeleteExecution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).DeleteExecution(ctx, req.(*DeleteExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_PurgeExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).PurgeExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/PurgeExecutions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).PurgeExecutions(ctx, req.(*PurgeExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_AddExecutionEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddExecutionEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).AddExecutionEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/AddExecutionEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).AddExecutionEvents(ctx, req.(*AddExecutionEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_QueryExecutionInputsAndOutputs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryExecutionInputsAndOutputsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).QueryExecutionInputsAndOutputs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryExecutionInputsAndOutputs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).QueryExecutionInputsAndOutputs(ctx, req.(*QueryExecutionInputsAndOutputsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_CreateMetadataSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateMetadataSchemaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).CreateMetadataSchema(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/CreateMetadataSchema", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).CreateMetadataSchema(ctx, req.(*CreateMetadataSchemaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_GetMetadataSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMetadataSchemaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).GetMetadataSchema(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/GetMetadataSchema", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).GetMetadataSchema(ctx, req.(*GetMetadataSchemaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_ListMetadataSchemas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListMetadataSchemasRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).ListMetadataSchemas(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/ListMetadataSchemas", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).ListMetadataSchemas(ctx, req.(*ListMetadataSchemasRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MetadataService_QueryArtifactLineageSubgraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryArtifactLineageSubgraphRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MetadataServiceServer).QueryArtifactLineageSubgraph(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MetadataService/QueryArtifactLineageSubgraph", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MetadataServiceServer).QueryArtifactLineageSubgraph(ctx, req.(*QueryArtifactLineageSubgraphRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// MetadataService_ServiceDesc is the grpc.ServiceDesc for MetadataService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var MetadataService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.MetadataService", + HandlerType: (*MetadataServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateMetadataStore", + Handler: _MetadataService_CreateMetadataStore_Handler, + }, + { + MethodName: "GetMetadataStore", + Handler: _MetadataService_GetMetadataStore_Handler, + }, + { + MethodName: "ListMetadataStores", + Handler: _MetadataService_ListMetadataStores_Handler, + }, + { + MethodName: "DeleteMetadataStore", + Handler: _MetadataService_DeleteMetadataStore_Handler, + }, + { + MethodName: "CreateArtifact", + Handler: _MetadataService_CreateArtifact_Handler, + }, + { + MethodName: "GetArtifact", + Handler: _MetadataService_GetArtifact_Handler, + }, + { + MethodName: "ListArtifacts", + Handler: _MetadataService_ListArtifacts_Handler, + }, + { + MethodName: "UpdateArtifact", + Handler: _MetadataService_UpdateArtifact_Handler, + }, + { + MethodName: "DeleteArtifact", + Handler: _MetadataService_DeleteArtifact_Handler, + }, + { + MethodName: "PurgeArtifacts", + Handler: _MetadataService_PurgeArtifacts_Handler, + }, + { + MethodName: "CreateContext", + Handler: _MetadataService_CreateContext_Handler, + }, + { + MethodName: "GetContext", + Handler: _MetadataService_GetContext_Handler, + }, + { + MethodName: "ListContexts", + Handler: _MetadataService_ListContexts_Handler, + }, + { + MethodName: "UpdateContext", + Handler: _MetadataService_UpdateContext_Handler, + }, + { + MethodName: "DeleteContext", + Handler: _MetadataService_DeleteContext_Handler, + }, + { + MethodName: "PurgeContexts", + Handler: _MetadataService_PurgeContexts_Handler, + }, + { + MethodName: "AddContextArtifactsAndExecutions", + Handler: _MetadataService_AddContextArtifactsAndExecutions_Handler, + }, + { + MethodName: "AddContextChildren", + Handler: _MetadataService_AddContextChildren_Handler, + }, + { + MethodName: "RemoveContextChildren", + Handler: _MetadataService_RemoveContextChildren_Handler, + }, + { + MethodName: "QueryContextLineageSubgraph", + Handler: _MetadataService_QueryContextLineageSubgraph_Handler, + }, + { + MethodName: "CreateExecution", + Handler: _MetadataService_CreateExecution_Handler, + }, + { + MethodName: "GetExecution", + Handler: _MetadataService_GetExecution_Handler, + }, + { + MethodName: "ListExecutions", + Handler: _MetadataService_ListExecutions_Handler, + }, + { + MethodName: "UpdateExecution", + Handler: _MetadataService_UpdateExecution_Handler, + }, + { + MethodName: "DeleteExecution", + Handler: _MetadataService_DeleteExecution_Handler, + }, + { + MethodName: "PurgeExecutions", + Handler: _MetadataService_PurgeExecutions_Handler, + }, + { + MethodName: "AddExecutionEvents", + Handler: _MetadataService_AddExecutionEvents_Handler, + }, + { + MethodName: "QueryExecutionInputsAndOutputs", + Handler: _MetadataService_QueryExecutionInputsAndOutputs_Handler, + }, + { + MethodName: "CreateMetadataSchema", + Handler: _MetadataService_CreateMetadataSchema_Handler, + }, + { + MethodName: "GetMetadataSchema", + Handler: _MetadataService_GetMetadataSchema_Handler, + }, + { + MethodName: "ListMetadataSchemas", + Handler: _MetadataService_ListMetadataSchemas_Handler, + }, + { + MethodName: "QueryArtifactLineageSubgraph", + Handler: _MetadataService_QueryArtifactLineageSubgraph_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/metadata_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_store.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_store.pb.go new file mode 100644 index 0000000000..70f4f991ad --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/metadata_store.pb.go @@ -0,0 +1,338 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/metadata_store.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Instance of a metadata store. Contains a set of metadata that can be +// queried. +type MetadataStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the MetadataStore instance. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when this MetadataStore was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this MetadataStore was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Customer-managed encryption key spec for a Metadata Store. If set, this + // Metadata Store and all sub-resources of this Metadata Store are secured + // using this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,5,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Description of the MetadataStore. + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + // Output only. State information of the MetadataStore. + State *MetadataStore_MetadataStoreState `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *MetadataStore) Reset() { + *x = MetadataStore{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetadataStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetadataStore) ProtoMessage() {} + +func (x *MetadataStore) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[0] + 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 MetadataStore.ProtoReflect.Descriptor instead. +func (*MetadataStore) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescGZIP(), []int{0} +} + +func (x *MetadataStore) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MetadataStore) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *MetadataStore) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *MetadataStore) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *MetadataStore) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *MetadataStore) GetState() *MetadataStore_MetadataStoreState { + if x != nil { + return x.State + } + return nil +} + +// Represents state information for a MetadataStore. +type MetadataStore_MetadataStoreState struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The disk utilization of the MetadataStore in bytes. + DiskUtilizationBytes int64 `protobuf:"varint,1,opt,name=disk_utilization_bytes,json=diskUtilizationBytes,proto3" json:"disk_utilization_bytes,omitempty"` +} + +func (x *MetadataStore_MetadataStoreState) Reset() { + *x = MetadataStore_MetadataStoreState{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetadataStore_MetadataStoreState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetadataStore_MetadataStoreState) ProtoMessage() {} + +func (x *MetadataStore_MetadataStoreState) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[1] + 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 MetadataStore_MetadataStoreState.ProtoReflect.Descriptor instead. +func (*MetadataStore_MetadataStoreState) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MetadataStore_MetadataStoreState) GetDiskUtilizationBytes() int64 { + if x != nil { + return x.DiskUtilizationBytes + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDesc = []byte{ + 0x0a, 0x35, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x22, 0xcb, + 0x04, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x59, 0x0a, + 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x4a, 0x0a, 0x12, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x34, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x14, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x75, 0xea, 0x41, 0x72, 0x0a, 0x27, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x12, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x42, 0xe5, 0x01, 0x0a, + 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, + 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_goTypes = []interface{}{ + (*MetadataStore)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.MetadataStore + (*MetadataStore_MetadataStoreState)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.MetadataStore.MetadataStoreState + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.MetadataStore.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.MetadataStore.update_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.MetadataStore.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.MetadataStore.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.MetadataStore.MetadataStoreState + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataStore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetadataStore_MetadataStoreState); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_metadata_store_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migratable_resource.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migratable_resource.pb.go new file mode 100644 index 0000000000..ddb2cd50f8 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migratable_resource.pb.go @@ -0,0 +1,789 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/migratable_resource.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents one resource that exists in automl.googleapis.com, +// datalabeling.googleapis.com or ml.googleapis.com. +type MigratableResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Resource: + // + // *MigratableResource_MlEngineModelVersion_ + // *MigratableResource_AutomlModel_ + // *MigratableResource_AutomlDataset_ + // *MigratableResource_DataLabelingDataset_ + Resource isMigratableResource_Resource `protobuf_oneof:"resource"` + // Output only. Timestamp when the last migration attempt on this + // MigratableResource started. Will not be set if there's no migration attempt + // on this MigratableResource. + LastMigrateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_migrate_time,json=lastMigrateTime,proto3" json:"last_migrate_time,omitempty"` + // Output only. Timestamp when this MigratableResource was last updated. + LastUpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` +} + +func (x *MigratableResource) Reset() { + *x = MigratableResource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource) ProtoMessage() {} + +func (x *MigratableResource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0] + 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 MigratableResource.ProtoReflect.Descriptor instead. +func (*MigratableResource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0} +} + +func (m *MigratableResource) GetResource() isMigratableResource_Resource { + if m != nil { + return m.Resource + } + return nil +} + +func (x *MigratableResource) GetMlEngineModelVersion() *MigratableResource_MlEngineModelVersion { + if x, ok := x.GetResource().(*MigratableResource_MlEngineModelVersion_); ok { + return x.MlEngineModelVersion + } + return nil +} + +func (x *MigratableResource) GetAutomlModel() *MigratableResource_AutomlModel { + if x, ok := x.GetResource().(*MigratableResource_AutomlModel_); ok { + return x.AutomlModel + } + return nil +} + +func (x *MigratableResource) GetAutomlDataset() *MigratableResource_AutomlDataset { + if x, ok := x.GetResource().(*MigratableResource_AutomlDataset_); ok { + return x.AutomlDataset + } + return nil +} + +func (x *MigratableResource) GetDataLabelingDataset() *MigratableResource_DataLabelingDataset { + if x, ok := x.GetResource().(*MigratableResource_DataLabelingDataset_); ok { + return x.DataLabelingDataset + } + return nil +} + +func (x *MigratableResource) GetLastMigrateTime() *timestamp.Timestamp { + if x != nil { + return x.LastMigrateTime + } + return nil +} + +func (x *MigratableResource) GetLastUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.LastUpdateTime + } + return nil +} + +type isMigratableResource_Resource interface { + isMigratableResource_Resource() +} + +type MigratableResource_MlEngineModelVersion_ struct { + // Output only. Represents one Version in ml.googleapis.com. + MlEngineModelVersion *MigratableResource_MlEngineModelVersion `protobuf:"bytes,1,opt,name=ml_engine_model_version,json=mlEngineModelVersion,proto3,oneof"` +} + +type MigratableResource_AutomlModel_ struct { + // Output only. Represents one Model in automl.googleapis.com. + AutomlModel *MigratableResource_AutomlModel `protobuf:"bytes,2,opt,name=automl_model,json=automlModel,proto3,oneof"` +} + +type MigratableResource_AutomlDataset_ struct { + // Output only. Represents one Dataset in automl.googleapis.com. + AutomlDataset *MigratableResource_AutomlDataset `protobuf:"bytes,3,opt,name=automl_dataset,json=automlDataset,proto3,oneof"` +} + +type MigratableResource_DataLabelingDataset_ struct { + // Output only. Represents one Dataset in datalabeling.googleapis.com. + DataLabelingDataset *MigratableResource_DataLabelingDataset `protobuf:"bytes,4,opt,name=data_labeling_dataset,json=dataLabelingDataset,proto3,oneof"` +} + +func (*MigratableResource_MlEngineModelVersion_) isMigratableResource_Resource() {} + +func (*MigratableResource_AutomlModel_) isMigratableResource_Resource() {} + +func (*MigratableResource_AutomlDataset_) isMigratableResource_Resource() {} + +func (*MigratableResource_DataLabelingDataset_) isMigratableResource_Resource() {} + +// Represents one model Version in ml.googleapis.com. +type MigratableResource_MlEngineModelVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ml.googleapis.com endpoint that this model Version currently lives + // in. + // Example values: + // + // * ml.googleapis.com + // * us-centrall-ml.googleapis.com + // * europe-west4-ml.googleapis.com + // * asia-east1-ml.googleapis.com + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Full resource name of ml engine model Version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *MigratableResource_MlEngineModelVersion) Reset() { + *x = MigratableResource_MlEngineModelVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_MlEngineModelVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_MlEngineModelVersion) ProtoMessage() {} + +func (x *MigratableResource_MlEngineModelVersion) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1] + 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 MigratableResource_MlEngineModelVersion.ProtoReflect.Descriptor instead. +func (*MigratableResource_MlEngineModelVersion) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MigratableResource_MlEngineModelVersion) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *MigratableResource_MlEngineModelVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// Represents one Model in automl.googleapis.com. +type MigratableResource_AutomlModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // The Model's display name in automl.googleapis.com. + ModelDisplayName string `protobuf:"bytes,3,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigratableResource_AutomlModel) Reset() { + *x = MigratableResource_AutomlModel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_AutomlModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_AutomlModel) ProtoMessage() {} + +func (x *MigratableResource_AutomlModel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_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 MigratableResource_AutomlModel.ProtoReflect.Descriptor instead. +func (*MigratableResource_AutomlModel) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *MigratableResource_AutomlModel) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *MigratableResource_AutomlModel) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Represents one Dataset in automl.googleapis.com. +type MigratableResource_AutomlDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // The Dataset's display name in automl.googleapis.com. + DatasetDisplayName string `protobuf:"bytes,4,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` +} + +func (x *MigratableResource_AutomlDataset) Reset() { + *x = MigratableResource_AutomlDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_AutomlDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_AutomlDataset) ProtoMessage() {} + +func (x *MigratableResource_AutomlDataset) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3] + 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 MigratableResource_AutomlDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_AutomlDataset) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *MigratableResource_AutomlDataset) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigratableResource_AutomlDataset) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +// Represents one Dataset in datalabeling.googleapis.com. +type MigratableResource_DataLabelingDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // The Dataset's display name in datalabeling.googleapis.com. + DatasetDisplayName string `protobuf:"bytes,4,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` + // The migratable AnnotatedDataset in datalabeling.googleapis.com belongs to + // the data labeling Dataset. + DataLabelingAnnotatedDatasets []*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset `protobuf:"bytes,3,rep,name=data_labeling_annotated_datasets,json=dataLabelingAnnotatedDatasets,proto3" json:"data_labeling_annotated_datasets,omitempty"` +} + +func (x *MigratableResource_DataLabelingDataset) Reset() { + *x = MigratableResource_DataLabelingDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_DataLabelingDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_DataLabelingDataset) ProtoMessage() {} + +func (x *MigratableResource_DataLabelingDataset) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4] + 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 MigratableResource_DataLabelingDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_DataLabelingDataset) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *MigratableResource_DataLabelingDataset) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset) GetDataLabelingAnnotatedDatasets() []*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset { + if x != nil { + return x.DataLabelingAnnotatedDatasets + } + return nil +} + +// Represents one AnnotatedDataset in datalabeling.googleapis.com. +type MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full resource name of data labeling AnnotatedDataset. + // Format: + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + AnnotatedDataset string `protobuf:"bytes,1,opt,name=annotated_dataset,json=annotatedDataset,proto3" json:"annotated_dataset,omitempty"` + // The AnnotatedDataset's display name in datalabeling.googleapis.com. + AnnotatedDatasetDisplayName string `protobuf:"bytes,3,opt,name=annotated_dataset_display_name,json=annotatedDatasetDisplayName,proto3" json:"annotated_dataset_display_name,omitempty"` +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) Reset() { + *x = MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) ProtoMessage() {} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5] + 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 MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset.ProtoReflect.Descriptor instead. +func (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) GetAnnotatedDataset() string { + if x != nil { + return x.AnnotatedDataset + } + return "" +} + +func (x *MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset) GetAnnotatedDatasetDisplayName() string { + if x != nil { + return x.AnnotatedDatasetDisplayName + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc = []byte{ + 0x0a, 0x3a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 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, 0x22, 0x8f, 0x0c, 0x0a, 0x12, + 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x17, 0x6d, 0x6c, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4d, 0x6c, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x0c, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x70, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x83, 0x01, 0x0a, 0x15, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x13, 0x64, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x4b, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x6c, 0x61, + 0x73, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x6c, 0x0a, 0x14, 0x4d, 0x6c, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, + 0x41, 0x1b, 0x0a, 0x19, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x73, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2c, 0x0a, + 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x7f, 0x0a, 0x0d, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x3c, 0x0a, 0x07, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xfa, + 0x41, 0x1f, 0x0a, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x82, 0x04, 0x0a, + 0x13, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x64, 0x61, 0x74, 0x61, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, + 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0xae, 0x01, 0x0a, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x1d, 0x64, 0x61, + 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x1a, 0xc3, 0x01, 0x0a, 0x1c, + 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x11, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x64, 0x61, + 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x1e, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xc6, 0x05, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, + 0x41, 0x51, 0x0a, 0x19, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, + 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x55, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0xea, 0x41, 0x5b, 0x0a, 0x1d, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, + 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0xea, 0x41, 0x4c, 0x0a, 0x23, 0x64, 0x61, + 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x12, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0xea, 0x41, 0x7b, 0x0a, 0x2c, 0x64, 0x61, 0x74, + 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes = []interface{}{ + (*MigratableResource)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.MigratableResource + (*MigratableResource_MlEngineModelVersion)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.MlEngineModelVersion + (*MigratableResource_AutomlModel)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.AutomlModel + (*MigratableResource_AutomlDataset)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.AutomlDataset + (*MigratableResource_DataLabelingDataset)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset + (*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.DataLabelingAnnotatedDataset + (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.ml_engine_model_version:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource.MlEngineModelVersion + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.automl_model:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource.AutomlModel + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.automl_dataset:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource.AutomlDataset + 4, // 3: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.data_labeling_dataset:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset + 6, // 4: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.last_migrate_time:type_name -> google.protobuf.Timestamp + 6, // 5: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.last_update_time:type_name -> google.protobuf.Timestamp + 5, // 6: mockgcp.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.data_labeling_annotated_datasets:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource.DataLabelingDataset.DataLabelingAnnotatedDataset + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_MlEngineModelVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_AutomlModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_AutomlDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_DataLabelingDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigratableResource_DataLabelingDataset_DataLabelingAnnotatedDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*MigratableResource_MlEngineModelVersion_)(nil), + (*MigratableResource_AutomlModel_)(nil), + (*MigratableResource_AutomlDataset_)(nil), + (*MigratableResource_DataLabelingDataset_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.go new file mode 100644 index 0000000000..e16943c1c6 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.go @@ -0,0 +1,1574 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/migration_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [MigrationService.SearchMigratableResources][mockgcp.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources]. +type SearchMigratableResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The location that the migratable resources should be searched + // from. It's the Vertex AI location that the resources can be migrated to, + // not the resources' original location. Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard page size. + // The default and maximum value is 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter for your search. You can use the following types of filters: + // + // - Resource type filters. The following strings filter for a specific type + // of + // [MigratableResource][mockgcp.cloud.aiplatform.v1beta1.MigratableResource]: + // - `ml_engine_model_version:*` + // - `automl_model:*` + // - `automl_dataset:*` + // - `data_labeling_dataset:*` + // - "Migrated or not" filters. The following strings filter for resources + // that either have or have not already been migrated: + // - `last_migrate_time:*` filters for migrated resources. + // - `NOT last_migrate_time:*` filters for not yet migrated resources. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *SearchMigratableResourcesRequest) Reset() { + *x = SearchMigratableResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMigratableResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMigratableResourcesRequest) ProtoMessage() {} + +func (x *SearchMigratableResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0] + 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 SearchMigratableResourcesRequest.ProtoReflect.Descriptor instead. +func (*SearchMigratableResourcesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{0} +} + +func (x *SearchMigratableResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *SearchMigratableResourcesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchMigratableResourcesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *SearchMigratableResourcesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Response message for +// [MigrationService.SearchMigratableResources][mockgcp.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources]. +type SearchMigratableResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All migratable resources that can be migrated to the + // location specified in the request. + MigratableResources []*MigratableResource `protobuf:"bytes,1,rep,name=migratable_resources,json=migratableResources,proto3" json:"migratable_resources,omitempty"` + // The standard next-page token. + // The migratable_resources may not fill page_size in + // SearchMigratableResourcesRequest even when there are subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchMigratableResourcesResponse) Reset() { + *x = SearchMigratableResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchMigratableResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchMigratableResourcesResponse) ProtoMessage() {} + +func (x *SearchMigratableResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1] + 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 SearchMigratableResourcesResponse.ProtoReflect.Descriptor instead. +func (*SearchMigratableResourcesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{1} +} + +func (x *SearchMigratableResourcesResponse) GetMigratableResources() []*MigratableResource { + if x != nil { + return x.MigratableResources + } + return nil +} + +func (x *SearchMigratableResourcesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [MigrationService.BatchMigrateResources][mockgcp.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The location of the migrated resource will live in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The request messages specifying the resources to migrate. + // They must be in the same location as the destination. + // Up to 50 resources can be migrated in one batch. + MigrateResourceRequests []*MigrateResourceRequest `protobuf:"bytes,2,rep,name=migrate_resource_requests,json=migrateResourceRequests,proto3" json:"migrate_resource_requests,omitempty"` +} + +func (x *BatchMigrateResourcesRequest) Reset() { + *x = BatchMigrateResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesRequest) ProtoMessage() {} + +func (x *BatchMigrateResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_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 BatchMigrateResourcesRequest.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{2} +} + +func (x *BatchMigrateResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchMigrateResourcesRequest) GetMigrateResourceRequests() []*MigrateResourceRequest { + if x != nil { + return x.MigrateResourceRequests + } + return nil +} + +// Config of migrating one resource from automl.googleapis.com, +// datalabeling.googleapis.com and ml.googleapis.com to Vertex AI. +type MigrateResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Request: + // + // *MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ + // *MigrateResourceRequest_MigrateAutomlModelConfig_ + // *MigrateResourceRequest_MigrateAutomlDatasetConfig_ + // *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_ + Request isMigrateResourceRequest_Request `protobuf_oneof:"request"` +} + +func (x *MigrateResourceRequest) Reset() { + *x = MigrateResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest) ProtoMessage() {} + +func (x *MigrateResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3] + 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 MigrateResourceRequest.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3} +} + +func (m *MigrateResourceRequest) GetRequest() isMigrateResourceRequest_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateMlEngineModelVersionConfig() *MigrateResourceRequest_MigrateMlEngineModelVersionConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_); ok { + return x.MigrateMlEngineModelVersionConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateAutomlModelConfig() *MigrateResourceRequest_MigrateAutomlModelConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateAutomlModelConfig_); ok { + return x.MigrateAutomlModelConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateAutomlDatasetConfig() *MigrateResourceRequest_MigrateAutomlDatasetConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateAutomlDatasetConfig_); ok { + return x.MigrateAutomlDatasetConfig + } + return nil +} + +func (x *MigrateResourceRequest) GetMigrateDataLabelingDatasetConfig() *MigrateResourceRequest_MigrateDataLabelingDatasetConfig { + if x, ok := x.GetRequest().(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_); ok { + return x.MigrateDataLabelingDatasetConfig + } + return nil +} + +type isMigrateResourceRequest_Request interface { + isMigrateResourceRequest_Request() +} + +type MigrateResourceRequest_MigrateMlEngineModelVersionConfig_ struct { + // Config for migrating Version in ml.googleapis.com to Vertex AI's Model. + MigrateMlEngineModelVersionConfig *MigrateResourceRequest_MigrateMlEngineModelVersionConfig `protobuf:"bytes,1,opt,name=migrate_ml_engine_model_version_config,json=migrateMlEngineModelVersionConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateAutomlModelConfig_ struct { + // Config for migrating Model in automl.googleapis.com to Vertex AI's + // Model. + MigrateAutomlModelConfig *MigrateResourceRequest_MigrateAutomlModelConfig `protobuf:"bytes,2,opt,name=migrate_automl_model_config,json=migrateAutomlModelConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateAutomlDatasetConfig_ struct { + // Config for migrating Dataset in automl.googleapis.com to Vertex AI's + // Dataset. + MigrateAutomlDatasetConfig *MigrateResourceRequest_MigrateAutomlDatasetConfig `protobuf:"bytes,3,opt,name=migrate_automl_dataset_config,json=migrateAutomlDatasetConfig,proto3,oneof"` +} + +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig_ struct { + // Config for migrating Dataset in datalabeling.googleapis.com to + // Vertex AI's Dataset. + MigrateDataLabelingDatasetConfig *MigrateResourceRequest_MigrateDataLabelingDatasetConfig `protobuf:"bytes,4,opt,name=migrate_data_labeling_dataset_config,json=migrateDataLabelingDatasetConfig,proto3,oneof"` +} + +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_) isMigrateResourceRequest_Request() { +} + +func (*MigrateResourceRequest_MigrateAutomlModelConfig_) isMigrateResourceRequest_Request() {} + +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig_) isMigrateResourceRequest_Request() {} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_) isMigrateResourceRequest_Request() {} + +// Response message for +// [MigrationService.BatchMigrateResources][mockgcp.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Successfully migrated resources. + MigrateResourceResponses []*MigrateResourceResponse `protobuf:"bytes,1,rep,name=migrate_resource_responses,json=migrateResourceResponses,proto3" json:"migrate_resource_responses,omitempty"` +} + +func (x *BatchMigrateResourcesResponse) Reset() { + *x = BatchMigrateResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesResponse) ProtoMessage() {} + +func (x *BatchMigrateResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4] + 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 BatchMigrateResourcesResponse.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{4} +} + +func (x *BatchMigrateResourcesResponse) GetMigrateResourceResponses() []*MigrateResourceResponse { + if x != nil { + return x.MigrateResourceResponses + } + return nil +} + +// Describes a successfully migrated resource. +type MigrateResourceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // After migration, the resource name in Vertex AI. + // + // Types that are assignable to MigratedResource: + // + // *MigrateResourceResponse_Dataset + // *MigrateResourceResponse_Model + MigratedResource isMigrateResourceResponse_MigratedResource `protobuf_oneof:"migrated_resource"` + // Before migration, the identifier in ml.googleapis.com, + // automl.googleapis.com or datalabeling.googleapis.com. + MigratableResource *MigratableResource `protobuf:"bytes,3,opt,name=migratable_resource,json=migratableResource,proto3" json:"migratable_resource,omitempty"` +} + +func (x *MigrateResourceResponse) Reset() { + *x = MigrateResourceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceResponse) ProtoMessage() {} + +func (x *MigrateResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5] + 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 MigrateResourceResponse.ProtoReflect.Descriptor instead. +func (*MigrateResourceResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{5} +} + +func (m *MigrateResourceResponse) GetMigratedResource() isMigrateResourceResponse_MigratedResource { + if m != nil { + return m.MigratedResource + } + return nil +} + +func (x *MigrateResourceResponse) GetDataset() string { + if x, ok := x.GetMigratedResource().(*MigrateResourceResponse_Dataset); ok { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceResponse) GetModel() string { + if x, ok := x.GetMigratedResource().(*MigrateResourceResponse_Model); ok { + return x.Model + } + return "" +} + +func (x *MigrateResourceResponse) GetMigratableResource() *MigratableResource { + if x != nil { + return x.MigratableResource + } + return nil +} + +type isMigrateResourceResponse_MigratedResource interface { + isMigrateResourceResponse_MigratedResource() +} + +type MigrateResourceResponse_Dataset struct { + // Migrated Dataset's resource name. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3,oneof"` +} + +type MigrateResourceResponse_Model struct { + // Migrated Model's resource name. + Model string `protobuf:"bytes,2,opt,name=model,proto3,oneof"` +} + +func (*MigrateResourceResponse_Dataset) isMigrateResourceResponse_MigratedResource() {} + +func (*MigrateResourceResponse_Model) isMigrateResourceResponse_MigratedResource() {} + +// Runtime operation information for +// [MigrationService.BatchMigrateResources][mockgcp.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources]. +type BatchMigrateResourcesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Partial results that reflect the latest migration operation progress. + PartialResults []*BatchMigrateResourcesOperationMetadata_PartialResult `protobuf:"bytes,2,rep,name=partial_results,json=partialResults,proto3" json:"partial_results,omitempty"` +} + +func (x *BatchMigrateResourcesOperationMetadata) Reset() { + *x = BatchMigrateResourcesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesOperationMetadata) ProtoMessage() {} + +func (x *BatchMigrateResourcesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_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 BatchMigrateResourcesOperationMetadata.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{6} +} + +func (x *BatchMigrateResourcesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *BatchMigrateResourcesOperationMetadata) GetPartialResults() []*BatchMigrateResourcesOperationMetadata_PartialResult { + if x != nil { + return x.PartialResults + } + return nil +} + +// Config for migrating version in ml.googleapis.com to Vertex AI's Model. +type MigrateResourceRequest_MigrateMlEngineModelVersionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ml.googleapis.com endpoint that this model version should + // be migrated from. Example values: + // + // * ml.googleapis.com + // + // * us-centrall-ml.googleapis.com + // + // * europe-west4-ml.googleapis.com + // + // * asia-east1-ml.googleapis.com + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. Full resource name of ml engine model version. + // Format: `projects/{project}/models/{model}/versions/{version}`. + ModelVersion string `protobuf:"bytes,2,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"` + // Required. Display name of the model in Vertex AI. + // System will pick a display name if unspecified. + ModelDisplayName string `protobuf:"bytes,3,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) Reset() { + *x = MigrateResourceRequest_MigrateMlEngineModelVersionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7] + 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 MigrateResourceRequest_MigrateMlEngineModelVersionConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetModelVersion() string { + if x != nil { + return x.ModelVersion + } + return "" +} + +func (x *MigrateResourceRequest_MigrateMlEngineModelVersionConfig) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Config for migrating Model in automl.googleapis.com to Vertex AI's Model. +type MigrateResourceRequest_MigrateAutomlModelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of automl Model. + // Format: + // `projects/{project}/locations/{location}/models/{model}`. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Optional. Display name of the model in Vertex AI. + // System will pick a display name if unspecified. + ModelDisplayName string `protobuf:"bytes,2,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) Reset() { + *x = MigrateResourceRequest_MigrateAutomlModelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateAutomlModelConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_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 MigrateResourceRequest_MigrateAutomlModelConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateAutomlModelConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *MigrateResourceRequest_MigrateAutomlModelConfig) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +// Config for migrating Dataset in automl.googleapis.com to Vertex AI's +// Dataset. +type MigrateResourceRequest_MigrateAutomlDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of automl Dataset. + // Format: + // `projects/{project}/locations/{location}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Required. Display name of the Dataset in Vertex AI. + // System will pick a display name if unspecified. + DatasetDisplayName string `protobuf:"bytes,2,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateAutomlDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9] + 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 MigrateResourceRequest_MigrateAutomlDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateAutomlDatasetConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceRequest_MigrateAutomlDatasetConfig) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +// Config for migrating Dataset in datalabeling.googleapis.com to Vertex +// AI's Dataset. +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of data labeling Dataset. + // Format: + // `projects/{project}/datasets/{dataset}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Optional. Display name of the Dataset in Vertex AI. + // System will pick a display name if unspecified. + DatasetDisplayName string `protobuf:"bytes,2,opt,name=dataset_display_name,json=datasetDisplayName,proto3" json:"dataset_display_name,omitempty"` + // Optional. Configs for migrating AnnotatedDataset in + // datalabeling.googleapis.com to Vertex AI's SavedQuery. The specified + // AnnotatedDatasets have to belong to the datalabeling Dataset. + MigrateDataLabelingAnnotatedDatasetConfigs []*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig `protobuf:"bytes,3,rep,name=migrate_data_labeling_annotated_dataset_configs,json=migrateDataLabelingAnnotatedDatasetConfigs,proto3" json:"migrate_data_labeling_annotated_dataset_configs,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateDataLabelingDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig) ProtoMessage() {} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10] + 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 MigrateResourceRequest_MigrateDataLabelingDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 3} +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetDatasetDisplayName() string { + if x != nil { + return x.DatasetDisplayName + } + return "" +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig) GetMigrateDataLabelingAnnotatedDatasetConfigs() []*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig { + if x != nil { + return x.MigrateDataLabelingAnnotatedDatasetConfigs + } + return nil +} + +// Config for migrating AnnotatedDataset in datalabeling.googleapis.com to +// Vertex AI's SavedQuery. +type MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of data labeling AnnotatedDataset. + // Format: + // `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`. + AnnotatedDataset string `protobuf:"bytes,1,opt,name=annotated_dataset,json=annotatedDataset,proto3" json:"annotated_dataset,omitempty"` +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) Reset() { + *x = MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) ProtoMessage() { +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11] + 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 MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig.ProtoReflect.Descriptor instead. +func (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{3, 3, 0} +} + +func (x *MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig) GetAnnotatedDataset() string { + if x != nil { + return x.AnnotatedDataset + } + return "" +} + +// Represents a partial result in batch migration operation for one +// [MigrateResourceRequest][mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest]. +type BatchMigrateResourcesOperationMetadata_PartialResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If the resource's migration is ongoing, none of the result will be set. + // If the resource's migration is finished, either error or one of the + // migrated resource name will be filled. + // + // Types that are assignable to Result: + // + // *BatchMigrateResourcesOperationMetadata_PartialResult_Error + // *BatchMigrateResourcesOperationMetadata_PartialResult_Model + // *BatchMigrateResourcesOperationMetadata_PartialResult_Dataset + Result isBatchMigrateResourcesOperationMetadata_PartialResult_Result `protobuf_oneof:"result"` + // It's the same as the value in + // [MigrateResourceRequest.migrate_resource_requests][]. + Request *MigrateResourceRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) Reset() { + *x = BatchMigrateResourcesOperationMetadata_PartialResult{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchMigrateResourcesOperationMetadata_PartialResult) ProtoMessage() {} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[12] + 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 BatchMigrateResourcesOperationMetadata_PartialResult.ProtoReflect.Descriptor instead. +func (*BatchMigrateResourcesOperationMetadata_PartialResult) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP(), []int{6, 0} +} + +func (m *BatchMigrateResourcesOperationMetadata_PartialResult) GetResult() isBatchMigrateResourcesOperationMetadata_PartialResult_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) GetError() *status.Status { + if x, ok := x.GetResult().(*BatchMigrateResourcesOperationMetadata_PartialResult_Error); ok { + return x.Error + } + return nil +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) GetModel() string { + if x, ok := x.GetResult().(*BatchMigrateResourcesOperationMetadata_PartialResult_Model); ok { + return x.Model + } + return "" +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) GetDataset() string { + if x, ok := x.GetResult().(*BatchMigrateResourcesOperationMetadata_PartialResult_Dataset); ok { + return x.Dataset + } + return "" +} + +func (x *BatchMigrateResourcesOperationMetadata_PartialResult) GetRequest() *MigrateResourceRequest { + if x != nil { + return x.Request + } + return nil +} + +type isBatchMigrateResourcesOperationMetadata_PartialResult_Result interface { + isBatchMigrateResourcesOperationMetadata_PartialResult_Result() +} + +type BatchMigrateResourcesOperationMetadata_PartialResult_Error struct { + // The error result of the migration request in case of failure. + Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3,oneof"` +} + +type BatchMigrateResourcesOperationMetadata_PartialResult_Model struct { + // Migrated model resource name. + Model string `protobuf:"bytes,3,opt,name=model,proto3,oneof"` +} + +type BatchMigrateResourcesOperationMetadata_PartialResult_Dataset struct { + // Migrated dataset resource name. + Dataset string `protobuf:"bytes,4,opt,name=dataset,proto3,oneof"` +} + +func (*BatchMigrateResourcesOperationMetadata_PartialResult_Error) isBatchMigrateResourcesOperationMetadata_PartialResult_Result() { +} + +func (*BatchMigrateResourcesOperationMetadata_PartialResult_Model) isBatchMigrateResourcesOperationMetadata_PartialResult_Result() { +} + +func (*BatchMigrateResourcesOperationMetadata_PartialResult_Dataset) isBatchMigrateResourcesOperationMetadata_PartialResult_Result() { +} + +var File_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x3a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x20, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 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, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xb4, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, + 0x14, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0xdc, + 0x01, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x79, 0x0a, 0x19, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0xbc, 0x0d, + 0x0a, 0x16, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xaf, 0x01, 0x0a, 0x26, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6c, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x21, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x51, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x98, 0x01, 0x0a, 0x1d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1a, + 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xab, 0x01, 0x0a, 0x24, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xbf, 0x01, 0x0a, 0x21, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x46, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, + 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x18, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x94, 0x01, 0x0a, 0x1a, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x07, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xa2, 0x04, 0x0a, + 0x20, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x45, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x64, 0x61, 0x74, 0x61, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, + 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0xee, 0x01, 0x0a, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x83, 0x01, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x2a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x1a, 0x8e, 0x01, 0x0a, 0x29, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, + 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2e, 0x0a, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, + 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x01, 0x0a, + 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, + 0x0a, 0x1a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x18, 0x6d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x17, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x3c, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x65, 0x0a, 0x13, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, + 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xae, 0x04, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x7f, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9b, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0x42, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x32, 0x9e, 0x05, 0x0a, 0x10, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xfd, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, + 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xba, 0x02, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0xc1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x47, 0x0a, 0x1d, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 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, 0xed, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_goTypes = []interface{}{ + (*SearchMigratableResourcesRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.SearchMigratableResourcesRequest + (*SearchMigratableResourcesResponse)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse + (*BatchMigrateResourcesRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest + (*MigrateResourceRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest + (*BatchMigrateResourcesResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesResponse + (*MigrateResourceResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceResponse + (*BatchMigrateResourcesOperationMetadata)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata + (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateMlEngineModelVersionConfig + (*MigrateResourceRequest_MigrateAutomlModelConfig)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlModelConfig + (*MigrateResourceRequest_MigrateAutomlDatasetConfig)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlDatasetConfig + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.MigrateDataLabelingAnnotatedDatasetConfig + (*BatchMigrateResourcesOperationMetadata_PartialResult)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.PartialResult + (*MigratableResource)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.MigratableResource + (*GenericOperationMetadata)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*status.Status)(nil), // 15: google.rpc.Status + (*longrunningpb.Operation)(nil), // 16: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs = []int32{ + 13, // 0: mockgcp.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse.migratable_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest.migrate_resource_requests:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest + 7, // 2: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_ml_engine_model_version_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateMlEngineModelVersionConfig + 8, // 3: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_automl_model_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlModelConfig + 9, // 4: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_automl_dataset_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateAutomlDatasetConfig + 10, // 5: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.migrate_data_labeling_dataset_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig + 5, // 6: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesResponse.migrate_resource_responses:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceResponse + 13, // 7: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceResponse.migratable_resource:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigratableResource + 14, // 8: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 12, // 9: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.partial_results:type_name -> mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.PartialResult + 11, // 10: mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.migrate_data_labeling_annotated_dataset_configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest.MigrateDataLabelingDatasetConfig.MigrateDataLabelingAnnotatedDatasetConfig + 15, // 11: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.PartialResult.error:type_name -> google.rpc.Status + 3, // 12: mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata.PartialResult.request:type_name -> mockgcp.cloud.aiplatform.v1beta1.MigrateResourceRequest + 0, // 13: mockgcp.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources:input_type -> mockgcp.cloud.aiplatform.v1beta1.SearchMigratableResourcesRequest + 2, // 14: mockgcp.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchMigrateResourcesRequest + 1, // 15: mockgcp.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources:output_type -> mockgcp.cloud.aiplatform.v1beta1.SearchMigratableResourcesResponse + 16, // 16: mockgcp.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources:output_type -> google.longrunning.Operation + 15, // [15:17] is the sub-list for method output_type + 13, // [13:15] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_migratable_resource_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMigratableResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchMigratableResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateMlEngineModelVersionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateAutomlModelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateAutomlDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_MigrateDataLabelingAnnotatedDatasetConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchMigrateResourcesOperationMetadata_PartialResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*MigrateResourceRequest_MigrateMlEngineModelVersionConfig_)(nil), + (*MigrateResourceRequest_MigrateAutomlModelConfig_)(nil), + (*MigrateResourceRequest_MigrateAutomlDatasetConfig_)(nil), + (*MigrateResourceRequest_MigrateDataLabelingDatasetConfig_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*MigrateResourceResponse_Dataset)(nil), + (*MigrateResourceResponse_Model)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*BatchMigrateResourcesOperationMetadata_PartialResult_Error)(nil), + (*BatchMigrateResourcesOperationMetadata_PartialResult_Model)(nil), + (*BatchMigrateResourcesOperationMetadata_PartialResult_Dataset)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_migration_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.gw.go new file mode 100644 index 0000000000..9d8918b89d --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service.pb.gw.go @@ -0,0 +1,324 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/migration_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_MigrationService_SearchMigratableResources_0(ctx context.Context, marshaler runtime.Marshaler, client MigrationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMigratableResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.SearchMigratableResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MigrationService_SearchMigratableResources_0(ctx context.Context, marshaler runtime.Marshaler, server MigrationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq SearchMigratableResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.SearchMigratableResources(ctx, &protoReq) + return msg, metadata, err + +} + +func request_MigrationService_BatchMigrateResources_0(ctx context.Context, marshaler runtime.Marshaler, client MigrationServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchMigrateResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchMigrateResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_MigrationService_BatchMigrateResources_0(ctx context.Context, marshaler runtime.Marshaler, server MigrationServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchMigrateResourcesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchMigrateResources(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterMigrationServiceHandlerServer registers the http handlers for service MigrationService to "mux". +// UnaryRPC :call MigrationServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterMigrationServiceHandlerFromEndpoint instead. +func RegisterMigrationServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MigrationServiceServer) error { + + mux.Handle("POST", pattern_MigrationService_SearchMigratableResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/migratableResources:search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MigrationService_SearchMigratableResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MigrationService_SearchMigratableResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MigrationService_BatchMigrateResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/migratableResources:batchMigrate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_MigrationService_BatchMigrateResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MigrationService_BatchMigrateResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterMigrationServiceHandlerFromEndpoint is same as RegisterMigrationServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterMigrationServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterMigrationServiceHandler(ctx, mux, conn) +} + +// RegisterMigrationServiceHandler registers the http handlers for service MigrationService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterMigrationServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterMigrationServiceHandlerClient(ctx, mux, NewMigrationServiceClient(conn)) +} + +// RegisterMigrationServiceHandlerClient registers the http handlers for service MigrationService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MigrationServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MigrationServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "MigrationServiceClient" to call the correct interceptors. +func RegisterMigrationServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MigrationServiceClient) error { + + mux.Handle("POST", pattern_MigrationService_SearchMigratableResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/migratableResources:search")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MigrationService_SearchMigratableResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MigrationService_SearchMigratableResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_MigrationService_BatchMigrateResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/migratableResources:batchMigrate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_MigrationService_BatchMigrateResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_MigrationService_BatchMigrateResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_MigrationService_SearchMigratableResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "migratableResources"}, "search")) + + pattern_MigrationService_BatchMigrateResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "migratableResources"}, "batchMigrate")) +) + +var ( + forward_MigrationService_SearchMigratableResources_0 = runtime.ForwardResponseMessage + + forward_MigrationService_BatchMigrateResources_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service_grpc.pb.go new file mode 100644 index 0000000000..5b65459986 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/migration_service_grpc.pb.go @@ -0,0 +1,152 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/migration_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// MigrationServiceClient is the client API for MigrationService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MigrationServiceClient interface { + // Searches all of the resources in automl.googleapis.com, + // datalabeling.googleapis.com and ml.googleapis.com that can be migrated to + // Vertex AI's given location. + SearchMigratableResources(ctx context.Context, in *SearchMigratableResourcesRequest, opts ...grpc.CallOption) (*SearchMigratableResourcesResponse, error) + // Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + // and datalabeling.googleapis.com to Vertex AI. + BatchMigrateResources(ctx context.Context, in *BatchMigrateResourcesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type migrationServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewMigrationServiceClient(cc grpc.ClientConnInterface) MigrationServiceClient { + return &migrationServiceClient{cc} +} + +func (c *migrationServiceClient) SearchMigratableResources(ctx context.Context, in *SearchMigratableResourcesRequest, opts ...grpc.CallOption) (*SearchMigratableResourcesResponse, error) { + out := new(SearchMigratableResourcesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *migrationServiceClient) BatchMigrateResources(ctx context.Context, in *BatchMigrateResourcesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MigrationServiceServer is the server API for MigrationService service. +// All implementations must embed UnimplementedMigrationServiceServer +// for forward compatibility +type MigrationServiceServer interface { + // Searches all of the resources in automl.googleapis.com, + // datalabeling.googleapis.com and ml.googleapis.com that can be migrated to + // Vertex AI's given location. + SearchMigratableResources(context.Context, *SearchMigratableResourcesRequest) (*SearchMigratableResourcesResponse, error) + // Batch migrates resources from ml.googleapis.com, automl.googleapis.com, + // and datalabeling.googleapis.com to Vertex AI. + BatchMigrateResources(context.Context, *BatchMigrateResourcesRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedMigrationServiceServer() +} + +// UnimplementedMigrationServiceServer must be embedded to have forward compatible implementations. +type UnimplementedMigrationServiceServer struct { +} + +func (UnimplementedMigrationServiceServer) SearchMigratableResources(context.Context, *SearchMigratableResourcesRequest) (*SearchMigratableResourcesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchMigratableResources not implemented") +} +func (UnimplementedMigrationServiceServer) BatchMigrateResources(context.Context, *BatchMigrateResourcesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchMigrateResources not implemented") +} +func (UnimplementedMigrationServiceServer) mustEmbedUnimplementedMigrationServiceServer() {} + +// UnsafeMigrationServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MigrationServiceServer will +// result in compilation errors. +type UnsafeMigrationServiceServer interface { + mustEmbedUnimplementedMigrationServiceServer() +} + +func RegisterMigrationServiceServer(s grpc.ServiceRegistrar, srv MigrationServiceServer) { + s.RegisterService(&MigrationService_ServiceDesc, srv) +} + +func _MigrationService_SearchMigratableResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchMigratableResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MigrationServiceServer).SearchMigratableResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/SearchMigratableResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MigrationServiceServer).SearchMigratableResources(ctx, req.(*SearchMigratableResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MigrationService_BatchMigrateResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchMigrateResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MigrationServiceServer).BatchMigrateResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.MigrationService/BatchMigrateResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MigrationServiceServer).BatchMigrateResources(ctx, req.(*BatchMigrateResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// MigrationService_ServiceDesc is the grpc.ServiceDesc for MigrationService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var MigrationService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.MigrationService", + HandlerType: (*MigrationServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SearchMigratableResources", + Handler: _MigrationService_SearchMigratableResources_Handler, + }, + { + MethodName: "BatchMigrateResources", + Handler: _MigrationService_BatchMigrateResources_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/migration_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model.pb.go new file mode 100644 index 0000000000..276ea6c761 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model.pb.go @@ -0,0 +1,2152 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Identifies a type of Model's prediction resources. +type Model_DeploymentResourcesType int32 + +const ( + // Should not be used. + Model_DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED Model_DeploymentResourcesType = 0 + // Resources that are dedicated to the + // [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel], and that + // need a higher degree of manual configuration. + Model_DEDICATED_RESOURCES Model_DeploymentResourcesType = 1 + // Resources that to large degree are decided by Vertex AI, and require + // only a modest additional configuration. + Model_AUTOMATIC_RESOURCES Model_DeploymentResourcesType = 2 + // Resources that can be shared by multiple + // [DeployedModels][mockgcp.cloud.aiplatform.v1beta1.DeployedModel]. A + // pre-configured + // [DeploymentResourcePool][mockgcp.cloud.aiplatform.v1beta1.DeploymentResourcePool] + // is required. + Model_SHARED_RESOURCES Model_DeploymentResourcesType = 3 +) + +// Enum value maps for Model_DeploymentResourcesType. +var ( + Model_DeploymentResourcesType_name = map[int32]string{ + 0: "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED", + 1: "DEDICATED_RESOURCES", + 2: "AUTOMATIC_RESOURCES", + 3: "SHARED_RESOURCES", + } + Model_DeploymentResourcesType_value = map[string]int32{ + "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED": 0, + "DEDICATED_RESOURCES": 1, + "AUTOMATIC_RESOURCES": 2, + "SHARED_RESOURCES": 3, + } +) + +func (x Model_DeploymentResourcesType) Enum() *Model_DeploymentResourcesType { + p := new(Model_DeploymentResourcesType) + *p = x + return p +} + +func (x Model_DeploymentResourcesType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Model_DeploymentResourcesType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[0].Descriptor() +} + +func (Model_DeploymentResourcesType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[0] +} + +func (x Model_DeploymentResourcesType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Model_DeploymentResourcesType.Descriptor instead. +func (Model_DeploymentResourcesType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0} +} + +// The Model content that can be exported. +type Model_ExportFormat_ExportableContent int32 + +const ( + // Should not be used. + Model_ExportFormat_EXPORTABLE_CONTENT_UNSPECIFIED Model_ExportFormat_ExportableContent = 0 + // Model artifact and any of its supported files. Will be exported to the + // location specified by the `artifactDestination` field of the + // [ExportModelRequest.output_config][mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.output_config] + // object. + Model_ExportFormat_ARTIFACT Model_ExportFormat_ExportableContent = 1 + // The container image that is to be used when deploying this Model. Will + // be exported to the location specified by the `imageDestination` field + // of the + // [ExportModelRequest.output_config][mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.output_config] + // object. + Model_ExportFormat_IMAGE Model_ExportFormat_ExportableContent = 2 +) + +// Enum value maps for Model_ExportFormat_ExportableContent. +var ( + Model_ExportFormat_ExportableContent_name = map[int32]string{ + 0: "EXPORTABLE_CONTENT_UNSPECIFIED", + 1: "ARTIFACT", + 2: "IMAGE", + } + Model_ExportFormat_ExportableContent_value = map[string]int32{ + "EXPORTABLE_CONTENT_UNSPECIFIED": 0, + "ARTIFACT": 1, + "IMAGE": 2, + } +) + +func (x Model_ExportFormat_ExportableContent) Enum() *Model_ExportFormat_ExportableContent { + p := new(Model_ExportFormat_ExportableContent) + *p = x + return p +} + +func (x Model_ExportFormat_ExportableContent) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Model_ExportFormat_ExportableContent) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[1].Descriptor() +} + +func (Model_ExportFormat_ExportableContent) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[1] +} + +func (x Model_ExportFormat_ExportableContent) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Model_ExportFormat_ExportableContent.Descriptor instead. +func (Model_ExportFormat_ExportableContent) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Source of the model. +// Different from `objective` field, this `ModelSourceType` enum +// indicates the source from which the model was accessed or obtained, +// whereas the `objective` indicates the overall aim or function of this +// model. +type ModelSourceInfo_ModelSourceType int32 + +const ( + // Should not be used. + ModelSourceInfo_MODEL_SOURCE_TYPE_UNSPECIFIED ModelSourceInfo_ModelSourceType = 0 + // The Model is uploaded by automl training pipeline. + ModelSourceInfo_AUTOML ModelSourceInfo_ModelSourceType = 1 + // The Model is uploaded by user or custom training pipeline. + ModelSourceInfo_CUSTOM ModelSourceInfo_ModelSourceType = 2 + // The Model is registered and sync'ed from BigQuery ML. + ModelSourceInfo_BQML ModelSourceInfo_ModelSourceType = 3 + // The Model is saved or tuned from Model Garden. + ModelSourceInfo_MODEL_GARDEN ModelSourceInfo_ModelSourceType = 4 + // The Model is saved or tuned from Genie. + ModelSourceInfo_GENIE ModelSourceInfo_ModelSourceType = 5 + // The Model is uploaded by text embedding finetuning pipeline. + ModelSourceInfo_CUSTOM_TEXT_EMBEDDING ModelSourceInfo_ModelSourceType = 6 + // The Model is saved or tuned from Marketplace. + ModelSourceInfo_MARKETPLACE ModelSourceInfo_ModelSourceType = 7 +) + +// Enum value maps for ModelSourceInfo_ModelSourceType. +var ( + ModelSourceInfo_ModelSourceType_name = map[int32]string{ + 0: "MODEL_SOURCE_TYPE_UNSPECIFIED", + 1: "AUTOML", + 2: "CUSTOM", + 3: "BQML", + 4: "MODEL_GARDEN", + 5: "GENIE", + 6: "CUSTOM_TEXT_EMBEDDING", + 7: "MARKETPLACE", + } + ModelSourceInfo_ModelSourceType_value = map[string]int32{ + "MODEL_SOURCE_TYPE_UNSPECIFIED": 0, + "AUTOML": 1, + "CUSTOM": 2, + "BQML": 3, + "MODEL_GARDEN": 4, + "GENIE": 5, + "CUSTOM_TEXT_EMBEDDING": 6, + "MARKETPLACE": 7, + } +) + +func (x ModelSourceInfo_ModelSourceType) Enum() *ModelSourceInfo_ModelSourceType { + p := new(ModelSourceInfo_ModelSourceType) + *p = x + return p +} + +func (x ModelSourceInfo_ModelSourceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelSourceInfo_ModelSourceType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[2].Descriptor() +} + +func (ModelSourceInfo_ModelSourceType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes[2] +} + +func (x ModelSourceInfo_ModelSourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelSourceInfo_ModelSourceType.Descriptor instead. +func (ModelSourceInfo_ModelSourceType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{5, 0} +} + +// A trained machine learning Model. +type Model struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resource name of the Model. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Immutable. The version ID of the model. + // A new version is committed when a new model version is uploaded or + // trained under an existing model id. It is an auto-incrementing decimal + // number in string representation. + VersionId string `protobuf:"bytes,28,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` + // User provided version aliases so that a model version can be referenced via + // alias (i.e. + // `projects/{project}/locations/{location}/models/{model_id}@{version_alias}` + // instead of auto-generated version id (i.e. + // `projects/{project}/locations/{location}/models/{model_id}@{version_id})`. + // The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from + // version_id. A default version alias will be created for the first version + // of the model, and there must be exactly one default version alias for a + // model. + VersionAliases []string `protobuf:"bytes,29,rep,name=version_aliases,json=versionAliases,proto3" json:"version_aliases,omitempty"` + // Output only. Timestamp when this version was created. + VersionCreateTime *timestamp.Timestamp `protobuf:"bytes,31,opt,name=version_create_time,json=versionCreateTime,proto3" json:"version_create_time,omitempty"` + // Output only. Timestamp when this version was most recently updated. + VersionUpdateTime *timestamp.Timestamp `protobuf:"bytes,32,opt,name=version_update_time,json=versionUpdateTime,proto3" json:"version_update_time,omitempty"` + // Required. The display name of the Model. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the Model. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The description of this version. + VersionDescription string `protobuf:"bytes,30,opt,name=version_description,json=versionDescription,proto3" json:"version_description,omitempty"` + // The schemata that describe formats of the Model's predictions and + // explanations as given and returned via + // [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict] + // and + // [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]. + PredictSchemata *PredictSchemata `protobuf:"bytes,4,opt,name=predict_schemata,json=predictSchemata,proto3" json:"predict_schemata,omitempty"` + // Immutable. Points to a YAML file stored on Google Cloud Storage describing + // additional information about the Model, that is specific to it. Unset if + // the Model does not have any additional information. The schema is defined + // as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI, if no + // additional metadata is needed, this field is set to an empty string. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + MetadataSchemaUri string `protobuf:"bytes,5,opt,name=metadata_schema_uri,json=metadataSchemaUri,proto3" json:"metadata_schema_uri,omitempty"` + // Immutable. An additional information about the Model; the schema of the + // metadata can be found in + // [metadata_schema][mockgcp.cloud.aiplatform.v1beta1.Model.metadata_schema_uri]. + // Unset if the Model does not have any additional information. + Metadata *_struct.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Output only. The formats in which this Model may be exported. If empty, + // this Model is not available for export. + SupportedExportFormats []*Model_ExportFormat `protobuf:"bytes,20,rep,name=supported_export_formats,json=supportedExportFormats,proto3" json:"supported_export_formats,omitempty"` + // Output only. The resource name of the TrainingPipeline that uploaded this + // Model, if any. + TrainingPipeline string `protobuf:"bytes,7,opt,name=training_pipeline,json=trainingPipeline,proto3" json:"training_pipeline,omitempty"` + // Input only. The specification of the container that is to be used when + // deploying this Model. The specification is ingested upon + // [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel], + // and all binaries it contains are copied and stored internally by Vertex AI. + // Not required for AutoML Models. + ContainerSpec *ModelContainerSpec `protobuf:"bytes,9,opt,name=container_spec,json=containerSpec,proto3" json:"container_spec,omitempty"` + // Immutable. The path to the directory containing the Model artifact and any + // of its supporting files. Not required for AutoML Models. + ArtifactUri string `protobuf:"bytes,26,opt,name=artifact_uri,json=artifactUri,proto3" json:"artifact_uri,omitempty"` + // Output only. When this Model is deployed, its prediction resources are + // described by the `prediction_resources` field of the + // [Endpoint.deployed_models][mockgcp.cloud.aiplatform.v1beta1.Endpoint.deployed_models] + // object. Because not all Models support all resource configuration types, + // the configuration types this Model supports are listed here. If no + // configuration types are listed, the Model cannot be deployed to an + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] and does not support + // online predictions + // ([PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict] + // or + // [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]). + // Such a Model can serve predictions by using a + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob], + // if it has at least one entry each in + // [supported_input_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_input_storage_formats] + // and + // [supported_output_storage_formats][mockgcp.cloud.aiplatform.v1beta1.Model.supported_output_storage_formats]. + SupportedDeploymentResourcesTypes []Model_DeploymentResourcesType `protobuf:"varint,10,rep,packed,name=supported_deployment_resources_types,json=supportedDeploymentResourcesTypes,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Model_DeploymentResourcesType" json:"supported_deployment_resources_types,omitempty"` + // Output only. The formats this Model supports in + // [BatchPredictionJob.input_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config]. + // If + // [PredictSchemata.instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // exists, the instances should be given as per that schema. + // + // The possible formats are: + // + // * `jsonl` + // The JSON Lines format, where each instance is a single line. Uses + // [GcsSource][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `csv` + // The CSV format, where each instance is a single comma-separated line. + // The first line in the file is the header, containing comma-separated field + // names. Uses + // [GcsSource][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `tf-record` + // The TFRecord format, where each instance is a single record in tfrecord + // syntax. Uses + // [GcsSource][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `tf-record-gzip` + // Similar to `tf-record`, but the file is gzipped. Uses + // [GcsSource][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source]. + // + // * `bigquery` + // Each instance is a single row in BigQuery. Uses + // [BigQuerySource][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.bigquery_source]. + // + // * `file-list` + // Each line of the file is the location of an instance to process, uses + // `gcs_source` field of the + // [InputConfig][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig] + // object. + // + // If this Model doesn't support any of these formats it means it cannot be + // used with a + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. + // However, if it has + // [supported_deployment_resources_types][mockgcp.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types], + // it could serve online predictions by using + // [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict] + // or + // [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]. + SupportedInputStorageFormats []string `protobuf:"bytes,11,rep,name=supported_input_storage_formats,json=supportedInputStorageFormats,proto3" json:"supported_input_storage_formats,omitempty"` + // Output only. The formats this Model supports in + // [BatchPredictionJob.output_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config]. + // If both + // [PredictSchemata.instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // and + // [PredictSchemata.prediction_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.prediction_schema_uri] + // exist, the predictions are returned together with their instances. In other + // words, the prediction has the original instance data first, followed by the + // actual prediction content (as per the schema). + // + // The possible formats are: + // + // * `jsonl` + // The JSON Lines format, where each prediction is a single line. Uses + // [GcsDestination][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination]. + // + // * `csv` + // The CSV format, where each prediction is a single comma-separated line. + // The first line in the file is the header, containing comma-separated field + // names. Uses + // [GcsDestination][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination]. + // + // * `bigquery` + // Each prediction is a single row in a BigQuery table, uses + // [BigQueryDestination][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination] + // . + // + // If this Model doesn't support any of these formats it means it cannot be + // used with a + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. + // However, if it has + // [supported_deployment_resources_types][mockgcp.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types], + // it could serve online predictions by using + // [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict] + // or + // [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]. + SupportedOutputStorageFormats []string `protobuf:"bytes,12,rep,name=supported_output_storage_formats,json=supportedOutputStorageFormats,proto3" json:"supported_output_storage_formats,omitempty"` + // Output only. Timestamp when this Model was uploaded into Vertex AI. + CreateTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Model was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The pointers to DeployedModels created from this Model. Note + // that Model could have been deployed to Endpoints in different Locations. + DeployedModels []*DeployedModelRef `protobuf:"bytes,15,rep,name=deployed_models,json=deployedModels,proto3" json:"deployed_models,omitempty"` + // The default explanation specification for this Model. + // + // The Model can be used for + // [requesting + // explanation][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain] + // after being + // [deployed][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel] if + // it is populated. The Model can be used for [batch + // explanation][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation] + // if it is populated. + // + // All fields of the explanation_spec can be overridden by + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // of + // [DeployModelRequest.deployed_model][mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model], + // or + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] + // of + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. + // + // If the default explanation specification is not set for this Model, this + // Model can still be used for + // [requesting + // explanation][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain] by + // setting + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // of + // [DeployModelRequest.deployed_model][mockgcp.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model] + // and for [batch + // explanation][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation] + // by setting + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] + // of + // [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. + ExplanationSpec *ExplanationSpec `protobuf:"bytes,23,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,16,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize your Models. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,17,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key spec for a Model. If set, this + // Model and all sub-resources of this Model will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,24,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Output only. Source of a model. It can either be automl training pipeline, + // custom training pipeline, BigQuery ML, or saved and tuned from Genie or + // Model Garden. + ModelSourceInfo *ModelSourceInfo `protobuf:"bytes,38,opt,name=model_source_info,json=modelSourceInfo,proto3" json:"model_source_info,omitempty"` + // Output only. If this Model is a copy of another Model, this contains info + // about the original. + OriginalModelInfo *Model_OriginalModelInfo `protobuf:"bytes,34,opt,name=original_model_info,json=originalModelInfo,proto3" json:"original_model_info,omitempty"` + // Output only. The resource name of the Artifact that was created in + // MetadataStore when creating the Model. The Artifact resource name pattern + // is + // `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`. + MetadataArtifact string `protobuf:"bytes,44,opt,name=metadata_artifact,json=metadataArtifact,proto3" json:"metadata_artifact,omitempty"` +} + +func (x *Model) Reset() { + *x = Model{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Model) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Model) ProtoMessage() {} + +func (x *Model) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[0] + 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 Model.ProtoReflect.Descriptor instead. +func (*Model) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0} +} + +func (x *Model) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Model) GetVersionId() string { + if x != nil { + return x.VersionId + } + return "" +} + +func (x *Model) GetVersionAliases() []string { + if x != nil { + return x.VersionAliases + } + return nil +} + +func (x *Model) GetVersionCreateTime() *timestamp.Timestamp { + if x != nil { + return x.VersionCreateTime + } + return nil +} + +func (x *Model) GetVersionUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.VersionUpdateTime + } + return nil +} + +func (x *Model) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Model) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Model) GetVersionDescription() string { + if x != nil { + return x.VersionDescription + } + return "" +} + +func (x *Model) GetPredictSchemata() *PredictSchemata { + if x != nil { + return x.PredictSchemata + } + return nil +} + +func (x *Model) GetMetadataSchemaUri() string { + if x != nil { + return x.MetadataSchemaUri + } + return "" +} + +func (x *Model) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Model) GetSupportedExportFormats() []*Model_ExportFormat { + if x != nil { + return x.SupportedExportFormats + } + return nil +} + +func (x *Model) GetTrainingPipeline() string { + if x != nil { + return x.TrainingPipeline + } + return "" +} + +func (x *Model) GetContainerSpec() *ModelContainerSpec { + if x != nil { + return x.ContainerSpec + } + return nil +} + +func (x *Model) GetArtifactUri() string { + if x != nil { + return x.ArtifactUri + } + return "" +} + +func (x *Model) GetSupportedDeploymentResourcesTypes() []Model_DeploymentResourcesType { + if x != nil { + return x.SupportedDeploymentResourcesTypes + } + return nil +} + +func (x *Model) GetSupportedInputStorageFormats() []string { + if x != nil { + return x.SupportedInputStorageFormats + } + return nil +} + +func (x *Model) GetSupportedOutputStorageFormats() []string { + if x != nil { + return x.SupportedOutputStorageFormats + } + return nil +} + +func (x *Model) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Model) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Model) GetDeployedModels() []*DeployedModelRef { + if x != nil { + return x.DeployedModels + } + return nil +} + +func (x *Model) GetExplanationSpec() *ExplanationSpec { + if x != nil { + return x.ExplanationSpec + } + return nil +} + +func (x *Model) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Model) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Model) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *Model) GetModelSourceInfo() *ModelSourceInfo { + if x != nil { + return x.ModelSourceInfo + } + return nil +} + +func (x *Model) GetOriginalModelInfo() *Model_OriginalModelInfo { + if x != nil { + return x.OriginalModelInfo + } + return nil +} + +func (x *Model) GetMetadataArtifact() string { + if x != nil { + return x.MetadataArtifact + } + return "" +} + +// Contains information about the Large Model. +type LargeModelReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The unique name of the large Foundation or pre-built model. Like + // "chat-bison", "text-bison". Or model name with version ID, like + // "chat-bison@001", "text-bison@005", etc. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *LargeModelReference) Reset() { + *x = LargeModelReference{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LargeModelReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LargeModelReference) ProtoMessage() {} + +func (x *LargeModelReference) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[1] + 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 LargeModelReference.ProtoReflect.Descriptor instead. +func (*LargeModelReference) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{1} +} + +func (x *LargeModelReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Contains the schemata used in Model's predictions and explanations via +// [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict], +// [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain] +// and [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob]. +type PredictSchemata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Points to a YAML file stored on Google Cloud Storage describing + // the format of a single instance, which are used in + // [PredictRequest.instances][mockgcp.cloud.aiplatform.v1beta1.PredictRequest.instances], + // [ExplainRequest.instances][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances] + // and + // [BatchPredictionJob.input_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + InstanceSchemaUri string `protobuf:"bytes,1,opt,name=instance_schema_uri,json=instanceSchemaUri,proto3" json:"instance_schema_uri,omitempty"` + // Immutable. Points to a YAML file stored on Google Cloud Storage describing + // the parameters of prediction and explanation via + // [PredictRequest.parameters][mockgcp.cloud.aiplatform.v1beta1.PredictRequest.parameters], + // [ExplainRequest.parameters][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.parameters] + // and + // [BatchPredictionJob.model_parameters][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.model_parameters]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI, if no + // parameters are supported, then it is set to an empty string. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + ParametersSchemaUri string `protobuf:"bytes,2,opt,name=parameters_schema_uri,json=parametersSchemaUri,proto3" json:"parameters_schema_uri,omitempty"` + // Immutable. Points to a YAML file stored on Google Cloud Storage describing + // the format of a single prediction produced by this Model, which are + // returned via + // [PredictResponse.predictions][mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions], + // [ExplainResponse.explanations][mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.explanations], + // and + // [BatchPredictionJob.output_config][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config]. + // The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // AutoML Models always have this field populated by Vertex AI. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + PredictionSchemaUri string `protobuf:"bytes,3,opt,name=prediction_schema_uri,json=predictionSchemaUri,proto3" json:"prediction_schema_uri,omitempty"` +} + +func (x *PredictSchemata) Reset() { + *x = PredictSchemata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictSchemata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictSchemata) ProtoMessage() {} + +func (x *PredictSchemata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_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 PredictSchemata.ProtoReflect.Descriptor instead. +func (*PredictSchemata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{2} +} + +func (x *PredictSchemata) GetInstanceSchemaUri() string { + if x != nil { + return x.InstanceSchemaUri + } + return "" +} + +func (x *PredictSchemata) GetParametersSchemaUri() string { + if x != nil { + return x.ParametersSchemaUri + } + return "" +} + +func (x *PredictSchemata) GetPredictionSchemaUri() string { + if x != nil { + return x.PredictionSchemaUri + } + return "" +} + +// Specification of a container for serving predictions. Some fields in this +// message correspond to fields in the [Kubernetes Container v1 core +// specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). +type ModelContainerSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. URI of the Docker image to be used as the custom + // container for serving predictions. This URI must identify an image in + // Artifact Registry or Container Registry. Learn more about the [container + // publishing + // requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), + // including permissions requirements for the Vertex AI Service Agent. + // + // The container image is ingested upon + // [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel], + // stored internally, and this original path is afterwards not used. + // + // To learn about the requirements for the Docker image itself, see + // [Custom container + // requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). + // + // You can use the URI to one of Vertex AI's [pre-built container images for + // prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) + // in this field. + ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` + // Immutable. Specifies the command that runs when the container starts. This + // overrides the container's + // [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint). + // Specify this field as an array of executable and arguments, similar to a + // Docker `ENTRYPOINT`'s "exec" form, not its "shell" form. + // + // If you do not specify this field, then the container's `ENTRYPOINT` runs, + // in conjunction with the + // [args][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.args] field or + // the container's + // [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if either + // exists. If this field is not specified and the container does not have an + // `ENTRYPOINT`, then refer to the Docker documentation about [how `CMD` and + // `ENTRYPOINT` + // interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + // + // If you specify this field, then you can also specify the `args` field to + // provide additional arguments for this command. However, if you specify this + // field, then the container's `CMD` is ignored. See the + // [Kubernetes documentation about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + // + // In this field, you can reference [environment variables set by Vertex + // AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + // and environment variables set in the + // [env][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. You + // cannot reference environment variables set in the Docker image. In order + // for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `command` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"` + // Immutable. Specifies arguments for the command that runs when the container + // starts. This overrides the container's + // [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify + // this field as an array of executable and arguments, similar to a Docker + // `CMD`'s "default parameters" form. + // + // If you don't specify this field but do specify the + // [command][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.command] + // field, then the command from the `command` field runs without any + // additional arguments. See the [Kubernetes documentation about how the + // `command` and `args` fields interact with a container's `ENTRYPOINT` and + // `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes). + // + // If you don't specify this field and don't specify the `command` field, + // then the container's + // [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and + // `CMD` determine what runs based on their default behavior. See the Docker + // documentation about [how `CMD` and `ENTRYPOINT` + // interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact). + // + // In this field, you can reference [environment variables + // set by Vertex + // AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables) + // and environment variables set in the + // [env][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. You + // cannot reference environment variables set in the Docker image. In order + // for environment variables to be expanded, reference them by using the + // following syntax: + // $(VARIABLE_NAME) + // Note that this differs from Bash variable expansion, which does not use + // parentheses. If a variable cannot be resolved, the reference in the input + // string is used unchanged. To avoid variable expansion, you can escape this + // syntax with `$$`; for example: + // $$(VARIABLE_NAME) + // This field corresponds to the `args` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + // Immutable. List of environment variables to set in the container. After the + // container starts running, code running in the container can read these + // environment variables. + // + // Additionally, the + // [command][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.command] and + // [args][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.args] fields can + // reference these variables. Later entries in this list can also reference + // earlier entries. For example, the following example sets the variable + // `VAR_2` to have the value `foo bar`: + // + // ```json + // [ + // + // { + // "name": "VAR_1", + // "value": "foo" + // }, + // { + // "name": "VAR_2", + // "value": "$(VAR_1) bar" + // } + // + // ] + // ``` + // + // If you switch the order of the variables in the example, then the expansion + // does not occur. + // + // This field corresponds to the `env` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + Env []*EnvVar `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"` + // Immutable. List of ports to expose from the container. Vertex AI sends any + // prediction requests that it receives to the first port on this list. Vertex + // AI also sends + // [liveness and health + // checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) + // to this port. + // + // If you do not specify this field, it defaults to following value: + // + // ```json + // [ + // + // { + // "containerPort": 8080 + // } + // + // ] + // ``` + // + // Vertex AI does not use ports other than the first one listed. This field + // corresponds to the `ports` field of the Kubernetes Containers + // [v1 core + // API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). + Ports []*Port `protobuf:"bytes,5,rep,name=ports,proto3" json:"ports,omitempty"` + // Immutable. HTTP path on the container to send prediction requests to. + // Vertex AI forwards requests sent using + // [projects.locations.endpoints.predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict] + // to this path on the container's IP address and port. Vertex AI then returns + // the container's response in the API response. + // + // For example, if you set this field to `/foo`, then when Vertex AI + // receives a prediction request, it forwards the request body in a POST + // request to the `/foo` path on the port of your container specified by the + // first value of this `ModelContainerSpec`'s + // [ports][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an + // Endpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // * DEPLOYED_MODEL: + // [DeployedModel.id][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.id] of the + // `DeployedModel`. + // + // (Vertex AI makes this value available to your container code + // as the [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + PredictRoute string `protobuf:"bytes,6,opt,name=predict_route,json=predictRoute,proto3" json:"predict_route,omitempty"` + // Immutable. HTTP path on the container to send health checks to. Vertex AI + // intermittently sends GET requests to this path on the container's IP + // address and port to check that the container is healthy. Read more about + // [health + // checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health). + // + // For example, if you set this field to `/bar`, then Vertex AI + // intermittently sends a GET request to the `/bar` path on the port of your + // container specified by the first value of this `ModelContainerSpec`'s + // [ports][mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field. + // + // If you don't specify this field, it defaults to the following value when + // you [deploy this Model to an + // Endpoint][mockgcp.cloud.aiplatform.v1beta1.EndpointService.DeployModel]: + // /v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict + // The placeholders in this value are replaced as follows: + // + // - ENDPOINT: The last segment (following `endpoints/`)of the + // Endpoint.name][] field of the Endpoint where this Model has been + // deployed. (Vertex AI makes this value available to your container code + // as the [`AIP_ENDPOINT_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + // + // * DEPLOYED_MODEL: + // [DeployedModel.id][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.id] of the + // `DeployedModel`. + // + // (Vertex AI makes this value available to your container code as the + // [`AIP_DEPLOYED_MODEL_ID` environment + // variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).) + HealthRoute string `protobuf:"bytes,7,opt,name=health_route,json=healthRoute,proto3" json:"health_route,omitempty"` + // Immutable. List of ports to expose from the container. Vertex AI sends gRPC + // prediction requests that it receives to the first port on this list. Vertex + // AI also sends liveness and health checks to this port. + // + // If you do not specify this field, gRPC requests to the container will be + // disabled. + // + // Vertex AI does not use ports other than the first one listed. This field + // corresponds to the `ports` field of the Kubernetes Containers v1 core API. + GrpcPorts []*Port `protobuf:"bytes,9,rep,name=grpc_ports,json=grpcPorts,proto3" json:"grpc_ports,omitempty"` + // Immutable. Deployment timeout. + // Limit for deployment timeout is 2 hours. + DeploymentTimeout *duration.Duration `protobuf:"bytes,10,opt,name=deployment_timeout,json=deploymentTimeout,proto3" json:"deployment_timeout,omitempty"` + // Immutable. The amount of the VM memory to reserve as the shared memory for + // the model in megabytes. + SharedMemorySizeMb int64 `protobuf:"varint,11,opt,name=shared_memory_size_mb,json=sharedMemorySizeMb,proto3" json:"shared_memory_size_mb,omitempty"` + // Immutable. Specification for Kubernetes startup probe. + StartupProbe *Probe `protobuf:"bytes,12,opt,name=startup_probe,json=startupProbe,proto3" json:"startup_probe,omitempty"` + // Immutable. Specification for Kubernetes readiness probe. + HealthProbe *Probe `protobuf:"bytes,13,opt,name=health_probe,json=healthProbe,proto3" json:"health_probe,omitempty"` +} + +func (x *ModelContainerSpec) Reset() { + *x = ModelContainerSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelContainerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelContainerSpec) ProtoMessage() {} + +func (x *ModelContainerSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[3] + 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 ModelContainerSpec.ProtoReflect.Descriptor instead. +func (*ModelContainerSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{3} +} + +func (x *ModelContainerSpec) GetImageUri() string { + if x != nil { + return x.ImageUri + } + return "" +} + +func (x *ModelContainerSpec) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +func (x *ModelContainerSpec) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ModelContainerSpec) GetEnv() []*EnvVar { + if x != nil { + return x.Env + } + return nil +} + +func (x *ModelContainerSpec) GetPorts() []*Port { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ModelContainerSpec) GetPredictRoute() string { + if x != nil { + return x.PredictRoute + } + return "" +} + +func (x *ModelContainerSpec) GetHealthRoute() string { + if x != nil { + return x.HealthRoute + } + return "" +} + +func (x *ModelContainerSpec) GetGrpcPorts() []*Port { + if x != nil { + return x.GrpcPorts + } + return nil +} + +func (x *ModelContainerSpec) GetDeploymentTimeout() *duration.Duration { + if x != nil { + return x.DeploymentTimeout + } + return nil +} + +func (x *ModelContainerSpec) GetSharedMemorySizeMb() int64 { + if x != nil { + return x.SharedMemorySizeMb + } + return 0 +} + +func (x *ModelContainerSpec) GetStartupProbe() *Probe { + if x != nil { + return x.StartupProbe + } + return nil +} + +func (x *ModelContainerSpec) GetHealthProbe() *Probe { + if x != nil { + return x.HealthProbe + } + return nil +} + +// Represents a network port in a container. +type Port struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The number of the port to expose on the pod's IP address. + // Must be a valid port number, between 1 and 65535 inclusive. + ContainerPort int32 `protobuf:"varint,3,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"` +} + +func (x *Port) Reset() { + *x = Port{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Port) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Port) ProtoMessage() {} + +func (x *Port) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[4] + 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 Port.ProtoReflect.Descriptor instead. +func (*Port) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{4} +} + +func (x *Port) GetContainerPort() int32 { + if x != nil { + return x.ContainerPort + } + return 0 +} + +// Detail description of the source information of the model. +type ModelSourceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of the model source. + SourceType ModelSourceInfo_ModelSourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo_ModelSourceType" json:"source_type,omitempty"` + // If this Model is copy of another Model. If true then + // [source_type][mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo.source_type] + // pertains to the original. + Copy bool `protobuf:"varint,2,opt,name=copy,proto3" json:"copy,omitempty"` +} + +func (x *ModelSourceInfo) Reset() { + *x = ModelSourceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelSourceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelSourceInfo) ProtoMessage() {} + +func (x *ModelSourceInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[5] + 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 ModelSourceInfo.ProtoReflect.Descriptor instead. +func (*ModelSourceInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{5} +} + +func (x *ModelSourceInfo) GetSourceType() ModelSourceInfo_ModelSourceType { + if x != nil { + return x.SourceType + } + return ModelSourceInfo_MODEL_SOURCE_TYPE_UNSPECIFIED +} + +func (x *ModelSourceInfo) GetCopy() bool { + if x != nil { + return x.Copy + } + return false +} + +// Probe describes a health check to be performed against a container to +// determine whether it is alive or ready to receive traffic. +type Probe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ProbeType: + // + // *Probe_Exec + ProbeType isProbe_ProbeType `protobuf_oneof:"probe_type"` + // How often (in seconds) to perform the probe. Default to 10 seconds. + // Minimum value is 1. Must be less than timeout_seconds. + // + // Maps to Kubernetes probe argument 'periodSeconds'. + PeriodSeconds int32 `protobuf:"varint,2,opt,name=period_seconds,json=periodSeconds,proto3" json:"period_seconds,omitempty"` + // Number of seconds after which the probe times out. Defaults to 1 second. + // Minimum value is 1. Must be greater or equal to period_seconds. + // + // Maps to Kubernetes probe argument 'timeoutSeconds'. + TimeoutSeconds int32 `protobuf:"varint,3,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"` +} + +func (x *Probe) Reset() { + *x = Probe{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Probe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Probe) ProtoMessage() {} + +func (x *Probe) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_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 Probe.ProtoReflect.Descriptor instead. +func (*Probe) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{6} +} + +func (m *Probe) GetProbeType() isProbe_ProbeType { + if m != nil { + return m.ProbeType + } + return nil +} + +func (x *Probe) GetExec() *Probe_ExecAction { + if x, ok := x.GetProbeType().(*Probe_Exec); ok { + return x.Exec + } + return nil +} + +func (x *Probe) GetPeriodSeconds() int32 { + if x != nil { + return x.PeriodSeconds + } + return 0 +} + +func (x *Probe) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +type isProbe_ProbeType interface { + isProbe_ProbeType() +} + +type Probe_Exec struct { + // Exec specifies the action to take. + Exec *Probe_ExecAction `protobuf:"bytes,1,opt,name=exec,proto3,oneof"` +} + +func (*Probe_Exec) isProbe_ProbeType() {} + +// Represents export format supported by the Model. +// All formats export to Google Cloud Storage. +type Model_ExportFormat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The ID of the export format. + // The possible format IDs are: + // + // * `tflite` + // Used for Android mobile devices. + // + // * `edgetpu-tflite` + // Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices. + // + // * `tf-saved-model` + // A tensorflow model in SavedModel format. + // + // * `tf-js` + // A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used + // in the browser and in Node.js using JavaScript. + // + // * `core-ml` + // Used for iOS mobile devices. + // + // * `custom-trained` + // A Model that was uploaded or trained by custom code. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Output only. The content of this Model that may be exported. + ExportableContents []Model_ExportFormat_ExportableContent `protobuf:"varint,2,rep,packed,name=exportable_contents,json=exportableContents,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Model_ExportFormat_ExportableContent" json:"exportable_contents,omitempty"` +} + +func (x *Model_ExportFormat) Reset() { + *x = Model_ExportFormat{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Model_ExportFormat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Model_ExportFormat) ProtoMessage() {} + +func (x *Model_ExportFormat) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[7] + 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 Model_ExportFormat.ProtoReflect.Descriptor instead. +func (*Model_ExportFormat) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Model_ExportFormat) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Model_ExportFormat) GetExportableContents() []Model_ExportFormat_ExportableContent { + if x != nil { + return x.ExportableContents + } + return nil +} + +// Contains information about the original Model if this Model is a copy. +type Model_OriginalModelInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the Model this Model is a copy of, + // including the revision. Format: + // `projects/{project}/locations/{location}/models/{model_id}@{version_id}` + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *Model_OriginalModelInfo) Reset() { + *x = Model_OriginalModelInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Model_OriginalModelInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Model_OriginalModelInfo) ProtoMessage() {} + +func (x *Model_OriginalModelInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_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 Model_OriginalModelInfo.ProtoReflect.Descriptor instead. +func (*Model_OriginalModelInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Model_OriginalModelInfo) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +// ExecAction specifies a command to execute. +type Probe_ExecAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Command is the command line to execute inside the container, the working + // directory for the command is root ('/') in the container's filesystem. + // The command is simply exec'd, it is not run inside a shell, so + // traditional shell instructions ('|', etc) won't work. To use a shell, you + // need to explicitly call out to that shell. Exit status of 0 is treated as + // live/healthy and non-zero is unhealthy. + Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"` +} + +func (x *Probe_ExecAction) Reset() { + *x = Probe_ExecAction{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Probe_ExecAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Probe_ExecAction) ProtoMessage() {} + +func (x *Probe_ExecAction) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[10] + 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 Probe_ExecAction.ProtoReflect.Descriptor instead. +func (*Probe_ExecAction) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *Probe_ExecAction) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, + 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xde, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, + 0x12, 0x4f, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 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, 0x11, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x20, 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, + 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, + 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x13, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, + 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x73, 0x0a, 0x18, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x12, 0x5f, + 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x03, 0xfa, 0x41, + 0x2c, 0x0a, 0x2a, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x10, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x60, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, + 0x41, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x4a, 0x0a, 0x1f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x1c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x12, 0x4c, 0x0a, + 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x60, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x11, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x62, 0x0a, 0x11, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x6e, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x30, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x1a, 0xf3, 0x01, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x7c, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x58, + 0x50, 0x4f, 0x52, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, + 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x02, 0x1a, 0x52, 0x0a, 0x11, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x03, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, + 0x13, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, + 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x53, 0x10, 0x02, 0x12, + 0x14, 0x0a, 0x10, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x53, 0x10, 0x03, 0x3a, 0x5c, 0xea, 0x41, 0x59, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x36, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x7d, 0x22, 0x2e, 0x0a, 0x13, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 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, 0xb8, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x37, 0x0a, 0x15, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x13, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x37, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x13, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x22, 0xbe, + 0x05, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x23, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, + 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x03, + 0x65, 0x6e, 0x76, 0x12, 0x41, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x12, 0x26, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x67, 0x72, 0x70, 0x63, 0x50, + 0x6f, 0x72, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 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, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x12, 0x51, 0x0a, 0x0d, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x4f, + 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x05, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x22, + 0x2d, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xab, + 0x02, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x62, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x6f, 0x70, 0x79, 0x22, 0x9f, 0x01, 0x0a, 0x0f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, + 0x0a, 0x1d, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x51, 0x4d, + 0x4c, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x47, 0x41, 0x52, + 0x44, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x45, 0x4e, 0x49, 0x45, 0x10, 0x05, + 0x12, 0x19, 0x0a, 0x15, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, + 0x45, 0x4d, 0x42, 0x45, 0x44, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, + 0x41, 0x52, 0x4b, 0x45, 0x54, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x07, 0x22, 0xd7, 0x01, 0x0a, + 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x65, 0x78, 0x65, 0x63, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x65, 0x78, 0x65, 0x63, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x1a, 0x26, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x62, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xe2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_mockgcp_cloud_aiplatform_v1beta1_model_proto_goTypes = []interface{}{ + (Model_DeploymentResourcesType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Model.DeploymentResourcesType + (Model_ExportFormat_ExportableContent)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.Model.ExportFormat.ExportableContent + (ModelSourceInfo_ModelSourceType)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo.ModelSourceType + (*Model)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.Model + (*LargeModelReference)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.LargeModelReference + (*PredictSchemata)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.PredictSchemata + (*ModelContainerSpec)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec + (*Port)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.Port + (*ModelSourceInfo)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo + (*Probe)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.Probe + (*Model_ExportFormat)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.Model.ExportFormat + (*Model_OriginalModelInfo)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.Model.OriginalModelInfo + nil, // 12: mockgcp.cloud.aiplatform.v1beta1.Model.LabelsEntry + (*Probe_ExecAction)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.Probe.ExecAction + (*timestamp.Timestamp)(nil), // 14: google.protobuf.Timestamp + (*_struct.Value)(nil), // 15: google.protobuf.Value + (*DeployedModelRef)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.DeployedModelRef + (*ExplanationSpec)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + (*EncryptionSpec)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*EnvVar)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.EnvVar + (*duration.Duration)(nil), // 20: google.protobuf.Duration +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_proto_depIdxs = []int32{ + 14, // 0: mockgcp.cloud.aiplatform.v1beta1.Model.version_create_time:type_name -> google.protobuf.Timestamp + 14, // 1: mockgcp.cloud.aiplatform.v1beta1.Model.version_update_time:type_name -> google.protobuf.Timestamp + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata:type_name -> mockgcp.cloud.aiplatform.v1beta1.PredictSchemata + 15, // 3: mockgcp.cloud.aiplatform.v1beta1.Model.metadata:type_name -> google.protobuf.Value + 10, // 4: mockgcp.cloud.aiplatform.v1beta1.Model.supported_export_formats:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model.ExportFormat + 6, // 5: mockgcp.cloud.aiplatform.v1beta1.Model.container_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec + 0, // 6: mockgcp.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model.DeploymentResourcesType + 14, // 7: mockgcp.cloud.aiplatform.v1beta1.Model.create_time:type_name -> google.protobuf.Timestamp + 14, // 8: mockgcp.cloud.aiplatform.v1beta1.Model.update_time:type_name -> google.protobuf.Timestamp + 16, // 9: mockgcp.cloud.aiplatform.v1beta1.Model.deployed_models:type_name -> mockgcp.cloud.aiplatform.v1beta1.DeployedModelRef + 17, // 10: mockgcp.cloud.aiplatform.v1beta1.Model.explanation_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + 12, // 11: mockgcp.cloud.aiplatform.v1beta1.Model.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model.LabelsEntry + 18, // 12: mockgcp.cloud.aiplatform.v1beta1.Model.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 8, // 13: mockgcp.cloud.aiplatform.v1beta1.Model.model_source_info:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo + 11, // 14: mockgcp.cloud.aiplatform.v1beta1.Model.original_model_info:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model.OriginalModelInfo + 19, // 15: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.env:type_name -> mockgcp.cloud.aiplatform.v1beta1.EnvVar + 7, // 16: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.ports:type_name -> mockgcp.cloud.aiplatform.v1beta1.Port + 7, // 17: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.grpc_ports:type_name -> mockgcp.cloud.aiplatform.v1beta1.Port + 20, // 18: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.deployment_timeout:type_name -> google.protobuf.Duration + 9, // 19: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.startup_probe:type_name -> mockgcp.cloud.aiplatform.v1beta1.Probe + 9, // 20: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec.health_probe:type_name -> mockgcp.cloud.aiplatform.v1beta1.Probe + 2, // 21: mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo.source_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelSourceInfo.ModelSourceType + 13, // 22: mockgcp.cloud.aiplatform.v1beta1.Probe.exec:type_name -> mockgcp.cloud.aiplatform.v1beta1.Probe.ExecAction + 1, // 23: mockgcp.cloud.aiplatform.v1beta1.Model.ExportFormat.exportable_contents:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model.ExportFormat.ExportableContent + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_deployed_model_ref_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_env_var_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Model); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LargeModelReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictSchemata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelContainerSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Port); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelSourceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Probe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Model_ExportFormat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Model_OriginalModelInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Probe_ExecAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*Probe_Exec)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDesc, + NumEnums: 3, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.pb.go new file mode 100644 index 0000000000..64c22271d7 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.pb.go @@ -0,0 +1,1514 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The Model Monitoring Objective types. +type ModelDeploymentMonitoringObjectiveType int32 + +const ( + // Default value, should not be set. + ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED ModelDeploymentMonitoringObjectiveType = 0 + // Raw feature values' stats to detect skew between Training-Prediction + // datasets. + ModelDeploymentMonitoringObjectiveType_RAW_FEATURE_SKEW ModelDeploymentMonitoringObjectiveType = 1 + // Raw feature values' stats to detect drift between Serving-Prediction + // datasets. + ModelDeploymentMonitoringObjectiveType_RAW_FEATURE_DRIFT ModelDeploymentMonitoringObjectiveType = 2 + // Feature attribution scores to detect skew between Training-Prediction + // datasets. + ModelDeploymentMonitoringObjectiveType_FEATURE_ATTRIBUTION_SKEW ModelDeploymentMonitoringObjectiveType = 3 + // Feature attribution scores to detect skew between Prediction datasets + // collected within different time windows. + ModelDeploymentMonitoringObjectiveType_FEATURE_ATTRIBUTION_DRIFT ModelDeploymentMonitoringObjectiveType = 4 +) + +// Enum value maps for ModelDeploymentMonitoringObjectiveType. +var ( + ModelDeploymentMonitoringObjectiveType_name = map[int32]string{ + 0: "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED", + 1: "RAW_FEATURE_SKEW", + 2: "RAW_FEATURE_DRIFT", + 3: "FEATURE_ATTRIBUTION_SKEW", + 4: "FEATURE_ATTRIBUTION_DRIFT", + } + ModelDeploymentMonitoringObjectiveType_value = map[string]int32{ + "MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED": 0, + "RAW_FEATURE_SKEW": 1, + "RAW_FEATURE_DRIFT": 2, + "FEATURE_ATTRIBUTION_SKEW": 3, + "FEATURE_ATTRIBUTION_DRIFT": 4, + } +) + +func (x ModelDeploymentMonitoringObjectiveType) Enum() *ModelDeploymentMonitoringObjectiveType { + p := new(ModelDeploymentMonitoringObjectiveType) + *p = x + return p +} + +func (x ModelDeploymentMonitoringObjectiveType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelDeploymentMonitoringObjectiveType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[0].Descriptor() +} + +func (ModelDeploymentMonitoringObjectiveType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[0] +} + +func (x ModelDeploymentMonitoringObjectiveType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelDeploymentMonitoringObjectiveType.Descriptor instead. +func (ModelDeploymentMonitoringObjectiveType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0} +} + +// The state to Specify the monitoring pipeline. +type ModelDeploymentMonitoringJob_MonitoringScheduleState int32 + +const ( + // Unspecified state. + ModelDeploymentMonitoringJob_MONITORING_SCHEDULE_STATE_UNSPECIFIED ModelDeploymentMonitoringJob_MonitoringScheduleState = 0 + // The pipeline is picked up and wait to run. + ModelDeploymentMonitoringJob_PENDING ModelDeploymentMonitoringJob_MonitoringScheduleState = 1 + // The pipeline is offline and will be scheduled for next run. + ModelDeploymentMonitoringJob_OFFLINE ModelDeploymentMonitoringJob_MonitoringScheduleState = 2 + // The pipeline is running. + ModelDeploymentMonitoringJob_RUNNING ModelDeploymentMonitoringJob_MonitoringScheduleState = 3 +) + +// Enum value maps for ModelDeploymentMonitoringJob_MonitoringScheduleState. +var ( + ModelDeploymentMonitoringJob_MonitoringScheduleState_name = map[int32]string{ + 0: "MONITORING_SCHEDULE_STATE_UNSPECIFIED", + 1: "PENDING", + 2: "OFFLINE", + 3: "RUNNING", + } + ModelDeploymentMonitoringJob_MonitoringScheduleState_value = map[string]int32{ + "MONITORING_SCHEDULE_STATE_UNSPECIFIED": 0, + "PENDING": 1, + "OFFLINE": 2, + "RUNNING": 3, + } +) + +func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) Enum() *ModelDeploymentMonitoringJob_MonitoringScheduleState { + p := new(ModelDeploymentMonitoringJob_MonitoringScheduleState) + *p = x + return p +} + +func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelDeploymentMonitoringJob_MonitoringScheduleState) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[1].Descriptor() +} + +func (ModelDeploymentMonitoringJob_MonitoringScheduleState) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[1] +} + +func (x ModelDeploymentMonitoringJob_MonitoringScheduleState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelDeploymentMonitoringJob_MonitoringScheduleState.Descriptor instead. +func (ModelDeploymentMonitoringJob_MonitoringScheduleState) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0, 0} +} + +// Indicates where does the log come from. +type ModelDeploymentMonitoringBigQueryTable_LogSource int32 + +const ( + // Unspecified source. + ModelDeploymentMonitoringBigQueryTable_LOG_SOURCE_UNSPECIFIED ModelDeploymentMonitoringBigQueryTable_LogSource = 0 + // Logs coming from Training dataset. + ModelDeploymentMonitoringBigQueryTable_TRAINING ModelDeploymentMonitoringBigQueryTable_LogSource = 1 + // Logs coming from Serving traffic. + ModelDeploymentMonitoringBigQueryTable_SERVING ModelDeploymentMonitoringBigQueryTable_LogSource = 2 +) + +// Enum value maps for ModelDeploymentMonitoringBigQueryTable_LogSource. +var ( + ModelDeploymentMonitoringBigQueryTable_LogSource_name = map[int32]string{ + 0: "LOG_SOURCE_UNSPECIFIED", + 1: "TRAINING", + 2: "SERVING", + } + ModelDeploymentMonitoringBigQueryTable_LogSource_value = map[string]int32{ + "LOG_SOURCE_UNSPECIFIED": 0, + "TRAINING": 1, + "SERVING": 2, + } +) + +func (x ModelDeploymentMonitoringBigQueryTable_LogSource) Enum() *ModelDeploymentMonitoringBigQueryTable_LogSource { + p := new(ModelDeploymentMonitoringBigQueryTable_LogSource) + *p = x + return p +} + +func (x ModelDeploymentMonitoringBigQueryTable_LogSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelDeploymentMonitoringBigQueryTable_LogSource) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[2].Descriptor() +} + +func (ModelDeploymentMonitoringBigQueryTable_LogSource) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[2] +} + +func (x ModelDeploymentMonitoringBigQueryTable_LogSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelDeploymentMonitoringBigQueryTable_LogSource.Descriptor instead. +func (ModelDeploymentMonitoringBigQueryTable_LogSource) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1, 0} +} + +// Indicates what type of traffic does the log belong to. +type ModelDeploymentMonitoringBigQueryTable_LogType int32 + +const ( + // Unspecified type. + ModelDeploymentMonitoringBigQueryTable_LOG_TYPE_UNSPECIFIED ModelDeploymentMonitoringBigQueryTable_LogType = 0 + // Predict logs. + ModelDeploymentMonitoringBigQueryTable_PREDICT ModelDeploymentMonitoringBigQueryTable_LogType = 1 + // Explain logs. + ModelDeploymentMonitoringBigQueryTable_EXPLAIN ModelDeploymentMonitoringBigQueryTable_LogType = 2 +) + +// Enum value maps for ModelDeploymentMonitoringBigQueryTable_LogType. +var ( + ModelDeploymentMonitoringBigQueryTable_LogType_name = map[int32]string{ + 0: "LOG_TYPE_UNSPECIFIED", + 1: "PREDICT", + 2: "EXPLAIN", + } + ModelDeploymentMonitoringBigQueryTable_LogType_value = map[string]int32{ + "LOG_TYPE_UNSPECIFIED": 0, + "PREDICT": 1, + "EXPLAIN": 2, + } +) + +func (x ModelDeploymentMonitoringBigQueryTable_LogType) Enum() *ModelDeploymentMonitoringBigQueryTable_LogType { + p := new(ModelDeploymentMonitoringBigQueryTable_LogType) + *p = x + return p +} + +func (x ModelDeploymentMonitoringBigQueryTable_LogType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelDeploymentMonitoringBigQueryTable_LogType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[3].Descriptor() +} + +func (ModelDeploymentMonitoringBigQueryTable_LogType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes[3] +} + +func (x ModelDeploymentMonitoringBigQueryTable_LogType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelDeploymentMonitoringBigQueryTable_LogType.Descriptor instead. +func (ModelDeploymentMonitoringBigQueryTable_LogType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1, 1} +} + +// Represents a job that runs periodically to monitor the deployed models in an +// endpoint. It will analyze the logged training & prediction data to detect any +// abnormal behaviors. +type ModelDeploymentMonitoringJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of a ModelDeploymentMonitoringJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the ModelDeploymentMonitoringJob. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + // Display name of a ModelDeploymentMonitoringJob. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Endpoint resource name. + // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Output only. The detailed state of the monitoring job. + // When the job is still creating, the state will be 'PENDING'. + // Once the job is successfully created, the state will be 'RUNNING'. + // Pause the job, the state will be 'PAUSED'. + // Resume the job, the state will return to 'RUNNING'. + State JobState `protobuf:"varint,4,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Schedule state when the monitoring job is in Running state. + ScheduleState ModelDeploymentMonitoringJob_MonitoringScheduleState `protobuf:"varint,5,opt,name=schedule_state,json=scheduleState,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob_MonitoringScheduleState" json:"schedule_state,omitempty"` + // Output only. Latest triggered monitoring pipeline metadata. + LatestMonitoringPipelineMetadata *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata `protobuf:"bytes,25,opt,name=latest_monitoring_pipeline_metadata,json=latestMonitoringPipelineMetadata,proto3" json:"latest_monitoring_pipeline_metadata,omitempty"` + // Required. The config for monitoring objectives. This is a per DeployedModel + // config. Each DeployedModel needs to be configured separately. + ModelDeploymentMonitoringObjectiveConfigs []*ModelDeploymentMonitoringObjectiveConfig `protobuf:"bytes,6,rep,name=model_deployment_monitoring_objective_configs,json=modelDeploymentMonitoringObjectiveConfigs,proto3" json:"model_deployment_monitoring_objective_configs,omitempty"` + // Required. Schedule config for running the monitoring job. + ModelDeploymentMonitoringScheduleConfig *ModelDeploymentMonitoringScheduleConfig `protobuf:"bytes,7,opt,name=model_deployment_monitoring_schedule_config,json=modelDeploymentMonitoringScheduleConfig,proto3" json:"model_deployment_monitoring_schedule_config,omitempty"` + // Required. Sample Strategy for logging. + LoggingSamplingStrategy *SamplingStrategy `protobuf:"bytes,8,opt,name=logging_sampling_strategy,json=loggingSamplingStrategy,proto3" json:"logging_sampling_strategy,omitempty"` + // Alert config for model monitoring. + ModelMonitoringAlertConfig *ModelMonitoringAlertConfig `protobuf:"bytes,15,opt,name=model_monitoring_alert_config,json=modelMonitoringAlertConfig,proto3" json:"model_monitoring_alert_config,omitempty"` + // YAML schema file uri describing the format of a single instance, + // which are given to format this Endpoint's prediction (and explanation). + // If not set, we will generate predict schema from collected predict + // requests. + PredictInstanceSchemaUri string `protobuf:"bytes,9,opt,name=predict_instance_schema_uri,json=predictInstanceSchemaUri,proto3" json:"predict_instance_schema_uri,omitempty"` + // Sample Predict instance, same format as + // [PredictRequest.instances][mockgcp.cloud.aiplatform.v1beta1.PredictRequest.instances], + // this can be set as a replacement of + // [ModelDeploymentMonitoringJob.predict_instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri]. + // If not set, we will generate predict schema from collected predict + // requests. + SamplePredictInstance *_struct.Value `protobuf:"bytes,19,opt,name=sample_predict_instance,json=samplePredictInstance,proto3" json:"sample_predict_instance,omitempty"` + // YAML schema file uri describing the format of a single instance that you + // want Tensorflow Data Validation (TFDV) to analyze. + // + // If this field is empty, all the feature data types are inferred from + // [predict_instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.predict_instance_schema_uri], + // meaning that TFDV will use the data in the exact format(data type) as + // prediction request/response. + // If there are any data type differences between predict instance and TFDV + // instance, this field can be used to override the schema. + // For models trained with Vertex AI, this field must be set as all the + // fields in predict instance formatted as string. + AnalysisInstanceSchemaUri string `protobuf:"bytes,16,opt,name=analysis_instance_schema_uri,json=analysisInstanceSchemaUri,proto3" json:"analysis_instance_schema_uri,omitempty"` + // Output only. The created bigquery tables for the job under customer + // project. Customer could do their own query & analysis. There could be 4 log + // tables in maximum: + // 1. Training data logging predict request/response + // 2. Serving data logging predict request/response + BigqueryTables []*ModelDeploymentMonitoringBigQueryTable `protobuf:"bytes,10,rep,name=bigquery_tables,json=bigqueryTables,proto3" json:"bigquery_tables,omitempty"` + // The TTL of BigQuery tables in user projects which stores logs. + // A day is the basic unit of the TTL and we take the ceil of TTL/86400(a + // day). e.g. { second: 3600} indicates ttl = 1 day. + LogTtl *duration.Duration `protobuf:"bytes,17,opt,name=log_ttl,json=logTtl,proto3" json:"log_ttl,omitempty"` + // The labels with user-defined metadata to organize your + // ModelDeploymentMonitoringJob. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this ModelDeploymentMonitoringJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this ModelDeploymentMonitoringJob was updated + // most recently. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Timestamp when this monitoring pipeline will be scheduled to + // run for the next round. + NextScheduleTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=next_schedule_time,json=nextScheduleTime,proto3" json:"next_schedule_time,omitempty"` + // Stats anomalies base folder path. + StatsAnomaliesBaseDirectory *GcsDestination `protobuf:"bytes,20,opt,name=stats_anomalies_base_directory,json=statsAnomaliesBaseDirectory,proto3" json:"stats_anomalies_base_directory,omitempty"` + // Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If + // set, this ModelDeploymentMonitoringJob and all sub-resources of this + // ModelDeploymentMonitoringJob will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,21,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // If true, the scheduled monitoring pipeline logs are sent to + // Google Cloud Logging, including pipeline status and anomalies detected. + // Please note the logs incur cost, which are subject to [Cloud Logging + // pricing](https://cloud.google.com/logging#pricing). + EnableMonitoringPipelineLogs bool `protobuf:"varint,22,opt,name=enable_monitoring_pipeline_logs,json=enableMonitoringPipelineLogs,proto3" json:"enable_monitoring_pipeline_logs,omitempty"` + // Output only. Only populated when the job's state is `JOB_STATE_FAILED` or + // `JOB_STATE_CANCELLED`. + Error *status.Status `protobuf:"bytes,23,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *ModelDeploymentMonitoringJob) Reset() { + *x = ModelDeploymentMonitoringJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelDeploymentMonitoringJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelDeploymentMonitoringJob) ProtoMessage() {} + +func (x *ModelDeploymentMonitoringJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0] + 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 ModelDeploymentMonitoringJob.ProtoReflect.Descriptor instead. +func (*ModelDeploymentMonitoringJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0} +} + +func (x *ModelDeploymentMonitoringJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ModelDeploymentMonitoringJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ModelDeploymentMonitoringJob) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ModelDeploymentMonitoringJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *ModelDeploymentMonitoringJob) GetScheduleState() ModelDeploymentMonitoringJob_MonitoringScheduleState { + if x != nil { + return x.ScheduleState + } + return ModelDeploymentMonitoringJob_MONITORING_SCHEDULE_STATE_UNSPECIFIED +} + +func (x *ModelDeploymentMonitoringJob) GetLatestMonitoringPipelineMetadata() *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata { + if x != nil { + return x.LatestMonitoringPipelineMetadata + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringObjectiveConfigs() []*ModelDeploymentMonitoringObjectiveConfig { + if x != nil { + return x.ModelDeploymentMonitoringObjectiveConfigs + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetModelDeploymentMonitoringScheduleConfig() *ModelDeploymentMonitoringScheduleConfig { + if x != nil { + return x.ModelDeploymentMonitoringScheduleConfig + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetLoggingSamplingStrategy() *SamplingStrategy { + if x != nil { + return x.LoggingSamplingStrategy + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetModelMonitoringAlertConfig() *ModelMonitoringAlertConfig { + if x != nil { + return x.ModelMonitoringAlertConfig + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetPredictInstanceSchemaUri() string { + if x != nil { + return x.PredictInstanceSchemaUri + } + return "" +} + +func (x *ModelDeploymentMonitoringJob) GetSamplePredictInstance() *_struct.Value { + if x != nil { + return x.SamplePredictInstance + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetAnalysisInstanceSchemaUri() string { + if x != nil { + return x.AnalysisInstanceSchemaUri + } + return "" +} + +func (x *ModelDeploymentMonitoringJob) GetBigqueryTables() []*ModelDeploymentMonitoringBigQueryTable { + if x != nil { + return x.BigqueryTables + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetLogTtl() *duration.Duration { + if x != nil { + return x.LogTtl + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetNextScheduleTime() *timestamp.Timestamp { + if x != nil { + return x.NextScheduleTime + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetStatsAnomaliesBaseDirectory() *GcsDestination { + if x != nil { + return x.StatsAnomaliesBaseDirectory + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *ModelDeploymentMonitoringJob) GetEnableMonitoringPipelineLogs() bool { + if x != nil { + return x.EnableMonitoringPipelineLogs + } + return false +} + +func (x *ModelDeploymentMonitoringJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +// ModelDeploymentMonitoringBigQueryTable specifies the BigQuery table name +// as well as some information of the logs stored in this table. +type ModelDeploymentMonitoringBigQueryTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of log. + LogSource ModelDeploymentMonitoringBigQueryTable_LogSource `protobuf:"varint,1,opt,name=log_source,json=logSource,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable_LogSource" json:"log_source,omitempty"` + // The type of log. + LogType ModelDeploymentMonitoringBigQueryTable_LogType `protobuf:"varint,2,opt,name=log_type,json=logType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable_LogType" json:"log_type,omitempty"` + // The created BigQuery table to store logs. Customer could do their own query + // & analysis. Format: + // `bq://.model_deployment_monitoring_._` + BigqueryTablePath string `protobuf:"bytes,3,opt,name=bigquery_table_path,json=bigqueryTablePath,proto3" json:"bigquery_table_path,omitempty"` + // Output only. The schema version of the request/response logging BigQuery + // table. Default to v1 if unset. + RequestResponseLoggingSchemaVersion string `protobuf:"bytes,4,opt,name=request_response_logging_schema_version,json=requestResponseLoggingSchemaVersion,proto3" json:"request_response_logging_schema_version,omitempty"` +} + +func (x *ModelDeploymentMonitoringBigQueryTable) Reset() { + *x = ModelDeploymentMonitoringBigQueryTable{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelDeploymentMonitoringBigQueryTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelDeploymentMonitoringBigQueryTable) ProtoMessage() {} + +func (x *ModelDeploymentMonitoringBigQueryTable) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1] + 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 ModelDeploymentMonitoringBigQueryTable.ProtoReflect.Descriptor instead. +func (*ModelDeploymentMonitoringBigQueryTable) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{1} +} + +func (x *ModelDeploymentMonitoringBigQueryTable) GetLogSource() ModelDeploymentMonitoringBigQueryTable_LogSource { + if x != nil { + return x.LogSource + } + return ModelDeploymentMonitoringBigQueryTable_LOG_SOURCE_UNSPECIFIED +} + +func (x *ModelDeploymentMonitoringBigQueryTable) GetLogType() ModelDeploymentMonitoringBigQueryTable_LogType { + if x != nil { + return x.LogType + } + return ModelDeploymentMonitoringBigQueryTable_LOG_TYPE_UNSPECIFIED +} + +func (x *ModelDeploymentMonitoringBigQueryTable) GetBigqueryTablePath() string { + if x != nil { + return x.BigqueryTablePath + } + return "" +} + +func (x *ModelDeploymentMonitoringBigQueryTable) GetRequestResponseLoggingSchemaVersion() string { + if x != nil { + return x.RequestResponseLoggingSchemaVersion + } + return "" +} + +// ModelDeploymentMonitoringObjectiveConfig contains the pair of +// deployed_model_id to ModelMonitoringObjectiveConfig. +type ModelDeploymentMonitoringObjectiveConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The DeployedModel ID of the objective config. + DeployedModelId string `protobuf:"bytes,1,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // The objective config of for the modelmonitoring job of this deployed model. + ObjectiveConfig *ModelMonitoringObjectiveConfig `protobuf:"bytes,2,opt,name=objective_config,json=objectiveConfig,proto3" json:"objective_config,omitempty"` +} + +func (x *ModelDeploymentMonitoringObjectiveConfig) Reset() { + *x = ModelDeploymentMonitoringObjectiveConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelDeploymentMonitoringObjectiveConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelDeploymentMonitoringObjectiveConfig) ProtoMessage() {} + +func (x *ModelDeploymentMonitoringObjectiveConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_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 ModelDeploymentMonitoringObjectiveConfig.ProtoReflect.Descriptor instead. +func (*ModelDeploymentMonitoringObjectiveConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{2} +} + +func (x *ModelDeploymentMonitoringObjectiveConfig) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *ModelDeploymentMonitoringObjectiveConfig) GetObjectiveConfig() *ModelMonitoringObjectiveConfig { + if x != nil { + return x.ObjectiveConfig + } + return nil +} + +// The config for scheduling monitoring job. +type ModelDeploymentMonitoringScheduleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The model monitoring job scheduling interval. It will be rounded + // up to next full hour. This defines how often the monitoring jobs are + // triggered. + MonitorInterval *duration.Duration `protobuf:"bytes,1,opt,name=monitor_interval,json=monitorInterval,proto3" json:"monitor_interval,omitempty"` + // The time window of the prediction data being included in each prediction + // dataset. This window specifies how long the data should be collected from + // historical model results for each run. If not set, + // [ModelDeploymentMonitoringScheduleConfig.monitor_interval][mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig.monitor_interval] + // will be used. e.g. If currently the cutoff time is 2022-01-08 14:30:00 and + // the monitor_window is set to be 3600, then data from 2022-01-08 13:30:00 to + // 2022-01-08 14:30:00 will be retrieved and aggregated to calculate the + // monitoring statistics. + MonitorWindow *duration.Duration `protobuf:"bytes,2,opt,name=monitor_window,json=monitorWindow,proto3" json:"monitor_window,omitempty"` +} + +func (x *ModelDeploymentMonitoringScheduleConfig) Reset() { + *x = ModelDeploymentMonitoringScheduleConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelDeploymentMonitoringScheduleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelDeploymentMonitoringScheduleConfig) ProtoMessage() {} + +func (x *ModelDeploymentMonitoringScheduleConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3] + 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 ModelDeploymentMonitoringScheduleConfig.ProtoReflect.Descriptor instead. +func (*ModelDeploymentMonitoringScheduleConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{3} +} + +func (x *ModelDeploymentMonitoringScheduleConfig) GetMonitorInterval() *duration.Duration { + if x != nil { + return x.MonitorInterval + } + return nil +} + +func (x *ModelDeploymentMonitoringScheduleConfig) GetMonitorWindow() *duration.Duration { + if x != nil { + return x.MonitorWindow + } + return nil +} + +// Statistics and anomalies generated by Model Monitoring. +type ModelMonitoringStatsAnomalies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Model Monitoring Objective those stats and anomalies belonging to. + Objective ModelDeploymentMonitoringObjectiveType `protobuf:"varint,1,opt,name=objective,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType" json:"objective,omitempty"` + // Deployed Model ID. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // Number of anomalies within all stats. + AnomalyCount int32 `protobuf:"varint,3,opt,name=anomaly_count,json=anomalyCount,proto3" json:"anomaly_count,omitempty"` + // A list of historical Stats and Anomalies generated for all Features. + FeatureStats []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies `protobuf:"bytes,4,rep,name=feature_stats,json=featureStats,proto3" json:"feature_stats,omitempty"` +} + +func (x *ModelMonitoringStatsAnomalies) Reset() { + *x = ModelMonitoringStatsAnomalies{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringStatsAnomalies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringStatsAnomalies) ProtoMessage() {} + +func (x *ModelMonitoringStatsAnomalies) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4] + 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 ModelMonitoringStatsAnomalies.ProtoReflect.Descriptor instead. +func (*ModelMonitoringStatsAnomalies) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4} +} + +func (x *ModelMonitoringStatsAnomalies) GetObjective() ModelDeploymentMonitoringObjectiveType { + if x != nil { + return x.Objective + } + return ModelDeploymentMonitoringObjectiveType_MODEL_DEPLOYMENT_MONITORING_OBJECTIVE_TYPE_UNSPECIFIED +} + +func (x *ModelMonitoringStatsAnomalies) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *ModelMonitoringStatsAnomalies) GetAnomalyCount() int32 { + if x != nil { + return x.AnomalyCount + } + return 0 +} + +func (x *ModelMonitoringStatsAnomalies) GetFeatureStats() []*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies { + if x != nil { + return x.FeatureStats + } + return nil +} + +// All metadata of most recent monitoring pipelines. +type ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The time that most recent monitoring pipelines that is related to this + // run. + RunTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"` + // The status of the most recent monitoring pipeline. + Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) Reset() { + *x = ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) ProtoMessage() {} + +func (x *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[5] + 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 ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata.ProtoReflect.Descriptor instead. +func (*ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) GetRunTime() *timestamp.Timestamp { + if x != nil { + return x.RunTime + } + return nil +} + +func (x *ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata) GetStatus() *status.Status { + if x != nil { + return x.Status + } + return nil +} + +// Historical Stats (and Anomalies) for a specific Feature. +type ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Display Name of the Feature. + FeatureDisplayName string `protobuf:"bytes,1,opt,name=feature_display_name,json=featureDisplayName,proto3" json:"feature_display_name,omitempty"` + // Threshold for anomaly detection. + Threshold *ThresholdConfig `protobuf:"bytes,3,opt,name=threshold,proto3" json:"threshold,omitempty"` + // Stats calculated for the Training Dataset. + TrainingStats *FeatureStatsAnomaly `protobuf:"bytes,4,opt,name=training_stats,json=trainingStats,proto3" json:"training_stats,omitempty"` + // A list of historical stats generated by different time window's + // Prediction Dataset. + PredictionStats []*FeatureStatsAnomaly `protobuf:"bytes,5,rep,name=prediction_stats,json=predictionStats,proto3" json:"prediction_stats,omitempty"` +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Reset() { + *x = ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoMessage() {} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[7] + 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 ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies.ProtoReflect.Descriptor instead. +func (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetFeatureDisplayName() string { + if x != nil { + return x.FeatureDisplayName + } + return "" +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetThreshold() *ThresholdConfig { + if x != nil { + return x.Threshold + } + return nil +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetTrainingStats() *FeatureStatsAnomaly { + if x != nil { + return x.TrainingStats + } + return nil +} + +func (x *ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies) GetPredictionStats() []*FeatureStatsAnomaly { + if x != nil { + return x.PredictionStats + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc = []byte{ + 0x0a, 0x46, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a, + 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x14, + 0x0a, 0x1c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x82, + 0x01, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x23, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x5f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb1, 0x01, 0x0a, 0x2d, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x29, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xac, 0x01, + 0x0a, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x27, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x19, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x12, 0x7f, 0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, + 0x69, 0x12, 0x4e, 0x0a, 0x17, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, + 0x72, 0x69, 0x12, 0x76, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6c, 0x6f, + 0x67, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x11, 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, 0x06, 0x6c, 0x6f, 0x67, 0x54, 0x74, 0x6c, 0x12, 0x62, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x0c, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0d, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 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, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x1e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, + 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x1b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x42, + 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x59, 0x0a, 0x0f, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x45, 0x0a, 0x1f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x2d, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x85, 0x01, + 0x0a, 0x20, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, + 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, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x6b, 0x0a, 0x17, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x4d, + 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, + 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xa5, 0x01, + 0xea, 0x41, 0xa1, 0x01, 0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x67, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x96, 0x04, 0x0a, 0x26, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x71, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x4c, + 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, + 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, + 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x59, 0x0a, 0x27, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x23, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x09, 0x4c, + 0x6f, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x47, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, + 0x3d, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, + 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x10, + 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x22, 0xc3, + 0x01, 0x0a, 0x28, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x6b, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb6, 0x01, 0x0a, 0x27, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x49, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 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, 0x0d, + 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xc2, 0x05, + 0x0a, 0x1d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, + 0x66, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x6e, 0x6f, 0x6d, + 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x5d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, + 0x73, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, + 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x52, + 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xe2, 0x02, + 0x0a, 0x1d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, + 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x12, + 0x30, 0x0a, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x5c, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x79, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x12, 0x60, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, + 0x79, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x2a, 0xce, 0x01, 0x0a, 0x26, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, + 0x36, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x42, 0x4a, + 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41, 0x57, + 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x4b, 0x45, 0x57, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x52, 0x41, 0x57, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x44, + 0x52, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, + 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, + 0x45, 0x57, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x49, 0x46, + 0x54, 0x10, 0x04, 0x42, 0xf9, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x21, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes = []interface{}{ + (ModelDeploymentMonitoringObjectiveType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType + (ModelDeploymentMonitoringJob_MonitoringScheduleState)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.MonitoringScheduleState + (ModelDeploymentMonitoringBigQueryTable_LogSource)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogSource + (ModelDeploymentMonitoringBigQueryTable_LogType)(0), // 3: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogType + (*ModelDeploymentMonitoringJob)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob + (*ModelDeploymentMonitoringBigQueryTable)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable + (*ModelDeploymentMonitoringObjectiveConfig)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig + (*ModelDeploymentMonitoringScheduleConfig)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig + (*ModelMonitoringStatsAnomalies)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies + (*ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LatestMonitoringPipelineMetadata + nil, // 10: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LabelsEntry + (*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies + (JobState)(0), // 12: mockgcp.cloud.aiplatform.v1beta1.JobState + (*SamplingStrategy)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy + (*ModelMonitoringAlertConfig)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig + (*_struct.Value)(nil), // 15: google.protobuf.Value + (*duration.Duration)(nil), // 16: google.protobuf.Duration + (*timestamp.Timestamp)(nil), // 17: google.protobuf.Timestamp + (*GcsDestination)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*EncryptionSpec)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*status.Status)(nil), // 20: google.rpc.Status + (*ModelMonitoringObjectiveConfig)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig + (*ThresholdConfig)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + (*FeatureStatsAnomaly)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs = []int32{ + 12, // 0: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.schedule_state:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.MonitoringScheduleState + 9, // 2: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.latest_monitoring_pipeline_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LatestMonitoringPipelineMetadata + 6, // 3: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_deployment_monitoring_objective_configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig + 7, // 4: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_deployment_monitoring_schedule_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig + 13, // 5: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.logging_sampling_strategy:type_name -> mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy + 14, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.model_monitoring_alert_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig + 15, // 7: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.sample_predict_instance:type_name -> google.protobuf.Value + 5, // 8: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.bigquery_tables:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable + 16, // 9: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.log_ttl:type_name -> google.protobuf.Duration + 10, // 10: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LabelsEntry + 17, // 11: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.create_time:type_name -> google.protobuf.Timestamp + 17, // 12: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.update_time:type_name -> google.protobuf.Timestamp + 17, // 13: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.next_schedule_time:type_name -> google.protobuf.Timestamp + 18, // 14: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.stats_anomalies_base_directory:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 19, // 15: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 20, // 16: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.error:type_name -> google.rpc.Status + 2, // 17: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.log_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogSource + 3, // 18: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.log_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringBigQueryTable.LogType + 21, // 19: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveConfig.objective_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig + 16, // 20: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig.monitor_interval:type_name -> google.protobuf.Duration + 16, // 21: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringScheduleConfig.monitor_window:type_name -> google.protobuf.Duration + 0, // 22: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.objective:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType + 11, // 23: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.feature_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies + 17, // 24: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LatestMonitoringPipelineMetadata.run_time:type_name -> google.protobuf.Timestamp + 20, // 25: mockgcp.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringJob.LatestMonitoringPipelineMetadata.status:type_name -> google.rpc.Status + 22, // 26: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.threshold:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 23, // 27: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.training_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly + 23, // 28: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats:type_name -> mockgcp.cloud.aiplatform.v1beta1.FeatureStatsAnomaly + 29, // [29:29] is the sub-list for method output_type + 29, // [29:29] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelDeploymentMonitoringJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelDeploymentMonitoringBigQueryTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelDeploymentMonitoringObjectiveConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelDeploymentMonitoringScheduleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringStatsAnomalies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelDeploymentMonitoringJob_LatestMonitoringPipelineMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringStatsAnomalies_FeatureHistoricStatsAnomalies); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc, + NumEnums: 4, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_deployment_monitoring_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation.pb.go new file mode 100644 index 0000000000..be4da9c717 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation.pb.go @@ -0,0 +1,541 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_evaluation.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A collection of metrics calculated by comparing Model's predictions on all of +// the test data against annotations from the test data. +type ModelEvaluation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the ModelEvaluation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The display name of the ModelEvaluation. + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Points to a YAML file stored on Google Cloud Storage describing the + // [metrics][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.metrics] of this + // ModelEvaluation. The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + MetricsSchemaUri string `protobuf:"bytes,2,opt,name=metrics_schema_uri,json=metricsSchemaUri,proto3" json:"metrics_schema_uri,omitempty"` + // Evaluation metrics of the Model. The schema of the metrics is stored in + // [metrics_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.metrics_schema_uri] + Metrics *_struct.Value `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"` + // Output only. Timestamp when this ModelEvaluation was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // All possible + // [dimensions][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.dimension] + // of ModelEvaluationSlices. The dimensions can be used as the filter of the + // [ModelService.ListModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices] + // request, in the form of `slice.dimension = `. + SliceDimensions []string `protobuf:"bytes,5,rep,name=slice_dimensions,json=sliceDimensions,proto3" json:"slice_dimensions,omitempty"` + // Aggregated explanation metrics for the Model's prediction output over the + // data this ModelEvaluation uses. This field is populated only if the Model + // is evaluated with explanations, and only for AutoML tabular Models. + ModelExplanation *ModelExplanation `protobuf:"bytes,8,opt,name=model_explanation,json=modelExplanation,proto3" json:"model_explanation,omitempty"` + // Describes the values of + // [ExplanationSpec][mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec] that are + // used for explaining the predicted values on the evaluated data. + ExplanationSpecs []*ModelEvaluation_ModelEvaluationExplanationSpec `protobuf:"bytes,9,rep,name=explanation_specs,json=explanationSpecs,proto3" json:"explanation_specs,omitempty"` + // The metadata of the ModelEvaluation. + // For the ModelEvaluation uploaded from Managed Pipeline, metadata contains a + // structured value with keys of "pipeline_job_id", "evaluation_dataset_type", + // "evaluation_dataset_path", "row_based_metrics_path". + Metadata *_struct.Value `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Specify the configuration for bias detection. + BiasConfigs *ModelEvaluation_BiasConfig `protobuf:"bytes,12,opt,name=bias_configs,json=biasConfigs,proto3" json:"bias_configs,omitempty"` +} + +func (x *ModelEvaluation) Reset() { + *x = ModelEvaluation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluation) ProtoMessage() {} + +func (x *ModelEvaluation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[0] + 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 ModelEvaluation.ProtoReflect.Descriptor instead. +func (*ModelEvaluation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescGZIP(), []int{0} +} + +func (x *ModelEvaluation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ModelEvaluation) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ModelEvaluation) GetMetricsSchemaUri() string { + if x != nil { + return x.MetricsSchemaUri + } + return "" +} + +func (x *ModelEvaluation) GetMetrics() *_struct.Value { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *ModelEvaluation) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ModelEvaluation) GetSliceDimensions() []string { + if x != nil { + return x.SliceDimensions + } + return nil +} + +func (x *ModelEvaluation) GetModelExplanation() *ModelExplanation { + if x != nil { + return x.ModelExplanation + } + return nil +} + +func (x *ModelEvaluation) GetExplanationSpecs() []*ModelEvaluation_ModelEvaluationExplanationSpec { + if x != nil { + return x.ExplanationSpecs + } + return nil +} + +func (x *ModelEvaluation) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ModelEvaluation) GetBiasConfigs() *ModelEvaluation_BiasConfig { + if x != nil { + return x.BiasConfigs + } + return nil +} + +type ModelEvaluation_ModelEvaluationExplanationSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Explanation type. + // + // For AutoML Image Classification models, possible values are: + // + // - `image-integrated-gradients` + // - `image-xrai` + ExplanationType string `protobuf:"bytes,1,opt,name=explanation_type,json=explanationType,proto3" json:"explanation_type,omitempty"` + // Explanation spec details. + ExplanationSpec *ExplanationSpec `protobuf:"bytes,2,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` +} + +func (x *ModelEvaluation_ModelEvaluationExplanationSpec) Reset() { + *x = ModelEvaluation_ModelEvaluationExplanationSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluation_ModelEvaluationExplanationSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluation_ModelEvaluationExplanationSpec) ProtoMessage() {} + +func (x *ModelEvaluation_ModelEvaluationExplanationSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[1] + 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 ModelEvaluation_ModelEvaluationExplanationSpec.ProtoReflect.Descriptor instead. +func (*ModelEvaluation_ModelEvaluationExplanationSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ModelEvaluation_ModelEvaluationExplanationSpec) GetExplanationType() string { + if x != nil { + return x.ExplanationType + } + return "" +} + +func (x *ModelEvaluation_ModelEvaluationExplanationSpec) GetExplanationSpec() *ExplanationSpec { + if x != nil { + return x.ExplanationSpec + } + return nil +} + +// Configuration for bias detection. +type ModelEvaluation_BiasConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specification for how the data should be sliced for bias. It contains a + // list of slices, with limitation of two slices. The first slice of data + // will be the slice_a. The second slice in the list (slice_b) will be + // compared against the first slice. If only a single slice is provided, + // then slice_a will be compared against "not slice_a". + // Below are examples with feature "education" with value "low", "medium", + // "high" in the dataset: + // + // Example 1: + // + // bias_slices = [{'education': 'low'}] + // + // A single slice provided. In this case, slice_a is the collection of data + // with 'education' equals 'low', and slice_b is the collection of data with + // 'education' equals 'medium' or 'high'. + // + // Example 2: + // + // bias_slices = [{'education': 'low'}, + // {'education': 'high'}] + // + // Two slices provided. In this case, slice_a is the collection of data + // with 'education' equals 'low', and slice_b is the collection of data with + // 'education' equals 'high'. + BiasSlices *ModelEvaluationSlice_Slice_SliceSpec `protobuf:"bytes,1,opt,name=bias_slices,json=biasSlices,proto3" json:"bias_slices,omitempty"` + // Positive labels selection on the target field. + Labels []string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"` +} + +func (x *ModelEvaluation_BiasConfig) Reset() { + *x = ModelEvaluation_BiasConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluation_BiasConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluation_BiasConfig) ProtoMessage() {} + +func (x *ModelEvaluation_BiasConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_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 ModelEvaluation_BiasConfig.ProtoReflect.Descriptor instead. +func (*ModelEvaluation_BiasConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ModelEvaluation_BiasConfig) GetBiasSlices() *ModelEvaluationSlice_Slice_SliceSpec { + if x != nil { + return x.BiasSlices + } + return nil +} + +func (x *ModelEvaluation_BiasConfig) GetLabels() []string { + if x != nil { + return x.Labels + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 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, 0x22, 0xcc, 0x08, 0x0a, 0x0f, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x30, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, + 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x44, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x0c, 0x62, 0x69, + 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, + 0x62, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0xa9, 0x01, 0x0a, 0x1e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x29, + 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x8d, 0x01, 0x0a, 0x0a, 0x42, 0x69, 0x61, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x0b, 0x62, 0x69, 0x61, 0x73, 0x5f, 0x73, + 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x0a, 0x62, 0x69, 0x61, 0x73, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x29, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x2f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_goTypes = []interface{}{ + (*ModelEvaluation)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + (*ModelEvaluation_ModelEvaluationExplanationSpec)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.ModelEvaluationExplanationSpec + (*ModelEvaluation_BiasConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.BiasConfig + (*_struct.Value)(nil), // 3: google.protobuf.Value + (*timestamp.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*ModelExplanation)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ModelExplanation + (*ExplanationSpec)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + (*ModelEvaluationSlice_Slice_SliceSpec)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_depIdxs = []int32{ + 3, // 0: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.metrics:type_name -> google.protobuf.Value + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.create_time:type_name -> google.protobuf.Timestamp + 5, // 2: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.model_explanation:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelExplanation + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.explanation_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.ModelEvaluationExplanationSpec + 3, // 4: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.metadata:type_name -> google.protobuf.Value + 2, // 5: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.bias_configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.BiasConfig + 6, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.ModelEvaluationExplanationSpec.explanation_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpec + 7, // 7: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation.BiasConfig.bias_slices:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluation_ModelEvaluationExplanationSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluation_BiasConfig); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation_slice.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation_slice.pb.go new file mode 100644 index 0000000000..a539a030d8 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_evaluation_slice.pb.go @@ -0,0 +1,860 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_evaluation_slice.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A collection of metrics calculated by comparing Model's predictions on a +// slice of the test data against ground truth annotations. +type ModelEvaluationSlice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the ModelEvaluationSlice. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The slice of the test data that is used to evaluate the Model. + Slice *ModelEvaluationSlice_Slice `protobuf:"bytes,2,opt,name=slice,proto3" json:"slice,omitempty"` + // Output only. Points to a YAML file stored on Google Cloud Storage + // describing the + // [metrics][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.metrics] of + // this ModelEvaluationSlice. The schema is defined as an OpenAPI 3.0.2 + // [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + MetricsSchemaUri string `protobuf:"bytes,3,opt,name=metrics_schema_uri,json=metricsSchemaUri,proto3" json:"metrics_schema_uri,omitempty"` + // Output only. Sliced evaluation metrics of the Model. The schema of the + // metrics is stored in + // [metrics_schema_uri][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.metrics_schema_uri] + Metrics *_struct.Value `protobuf:"bytes,4,opt,name=metrics,proto3" json:"metrics,omitempty"` + // Output only. Timestamp when this ModelEvaluationSlice was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Aggregated explanation metrics for the Model's prediction + // output over the data this ModelEvaluation uses. This field is populated + // only if the Model is evaluated with explanations, and only for tabular + // Models. + ModelExplanation *ModelExplanation `protobuf:"bytes,6,opt,name=model_explanation,json=modelExplanation,proto3" json:"model_explanation,omitempty"` +} + +func (x *ModelEvaluationSlice) Reset() { + *x = ModelEvaluationSlice{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice) ProtoMessage() {} + +func (x *ModelEvaluationSlice) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[0] + 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 ModelEvaluationSlice.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0} +} + +func (x *ModelEvaluationSlice) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ModelEvaluationSlice) GetSlice() *ModelEvaluationSlice_Slice { + if x != nil { + return x.Slice + } + return nil +} + +func (x *ModelEvaluationSlice) GetMetricsSchemaUri() string { + if x != nil { + return x.MetricsSchemaUri + } + return "" +} + +func (x *ModelEvaluationSlice) GetMetrics() *_struct.Value { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *ModelEvaluationSlice) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ModelEvaluationSlice) GetModelExplanation() *ModelExplanation { + if x != nil { + return x.ModelExplanation + } + return nil +} + +// Definition of a slice. +type ModelEvaluationSlice_Slice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The dimension of the slice. + // Well-known dimensions are: + // - `annotationSpec`: This slice is on the test data that has either + // ground truth or prediction with + // [AnnotationSpec.display_name][mockgcp.cloud.aiplatform.v1beta1.AnnotationSpec.display_name] + // equals to + // [value][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.value]. + // - `slice`: This slice is a user customized slice defined by its + // SliceSpec. + Dimension string `protobuf:"bytes,1,opt,name=dimension,proto3" json:"dimension,omitempty"` + // Output only. The value of the dimension in this slice. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Output only. Specification for how the data was sliced. + SliceSpec *ModelEvaluationSlice_Slice_SliceSpec `protobuf:"bytes,3,opt,name=slice_spec,json=sliceSpec,proto3" json:"slice_spec,omitempty"` +} + +func (x *ModelEvaluationSlice_Slice) Reset() { + *x = ModelEvaluationSlice_Slice{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice_Slice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice_Slice) ProtoMessage() {} + +func (x *ModelEvaluationSlice_Slice) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[1] + 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 ModelEvaluationSlice_Slice.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice_Slice) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ModelEvaluationSlice_Slice) GetDimension() string { + if x != nil { + return x.Dimension + } + return "" +} + +func (x *ModelEvaluationSlice_Slice) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *ModelEvaluationSlice_Slice) GetSliceSpec() *ModelEvaluationSlice_Slice_SliceSpec { + if x != nil { + return x.SliceSpec + } + return nil +} + +// Specification for how the data should be sliced. +type ModelEvaluationSlice_Slice_SliceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Mapping configuration for this SliceSpec. + // The key is the name of the feature. + // By default, the key will be prefixed by "instance" as a dictionary + // prefix for Vertex Batch Predictions output format. + Configs map[string]*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec) Reset() { + *x = ModelEvaluationSlice_Slice_SliceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice_Slice_SliceSpec) ProtoMessage() {} + +func (x *ModelEvaluationSlice_Slice_SliceSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_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 ModelEvaluationSlice_Slice_SliceSpec.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice_Slice_SliceSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec) GetConfigs() map[string]*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig { + if x != nil { + return x.Configs + } + return nil +} + +// Specification message containing the config for this SliceSpec. +// When `kind` is selected as `value` and/or `range`, only a single slice +// will be computed. +// When `all_values` is present, a separate slice will be computed for +// each possible label/value for the corresponding key in `config`. +// Examples, with feature zip_code with values 12345, 23334, 88888 and +// feature country with values "US", "Canada", "Mexico" in the dataset: +// +// Example 1: +// +// { +// "zip_code": { "value": { "float_value": 12345.0 } } +// } +// +// A single slice for any data with zip_code 12345 in the dataset. +// +// Example 2: +// +// { +// "zip_code": { "range": { "low": 12345, "high": 20000 } } +// } +// +// A single slice containing data where the zip_codes between 12345 and +// 20000 For this example, data with the zip_code of 12345 will be in this +// slice. +// +// Example 3: +// +// { +// "zip_code": { "range": { "low": 10000, "high": 20000 } }, +// "country": { "value": { "string_value": "US" } } +// } +// +// A single slice containing data where the zip_codes between 10000 and +// 20000 has the country "US". For this example, data with the zip_code of +// 12345 and country "US" will be in this slice. +// +// Example 4: +// +// { "country": {"all_values": { "value": true } } } +// +// Three slices are computed, one for each unique country in the dataset. +// +// Example 5: +// +// { +// "country": { "all_values": { "value": true } }, +// "zip_code": { "value": { "float_value": 12345.0 } } +// } +// +// Three slices are computed, one for each unique country in the dataset +// where the zip_code is also 12345. For this example, data with zip_code +// 12345 and country "US" will be in one slice, zip_code 12345 and country +// "Canada" in another slice, and zip_code 12345 and country "Mexico" in +// another slice, totaling 3 slices. +type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value + // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range + // *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues + Kind isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind `protobuf_oneof:"kind"` +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) Reset() { + *x = ModelEvaluationSlice_Slice_SliceSpec_SliceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) ProtoMessage() {} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[3] + 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 ModelEvaluationSlice_Slice_SliceSpec_SliceConfig.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0, 0, 0, 0} +} + +func (m *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) GetKind() isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) GetValue() *ModelEvaluationSlice_Slice_SliceSpec_Value { + if x, ok := x.GetKind().(*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value); ok { + return x.Value + } + return nil +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) GetRange() *ModelEvaluationSlice_Slice_SliceSpec_Range { + if x, ok := x.GetKind().(*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range); ok { + return x.Range + } + return nil +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_SliceConfig) GetAllValues() *wrappers.BoolValue { + if x, ok := x.GetKind().(*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues); ok { + return x.AllValues + } + return nil +} + +type isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind interface { + isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind() +} + +type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value struct { + // A unique specific value for a given feature. + // Example: `{ "value": { "string_value": "12345" } }` + Value *ModelEvaluationSlice_Slice_SliceSpec_Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range struct { + // A range of values for a numerical feature. + // Example: `{"range":{"low":10000.0,"high":50000.0}}` + // will capture 12345 and 23334 in the slice. + Range *ModelEvaluationSlice_Slice_SliceSpec_Range `protobuf:"bytes,2,opt,name=range,proto3,oneof"` +} + +type ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues struct { + // If all_values is set to true, then all possible labels of the keyed + // feature will have another slice computed. + // Example: `{"all_values":{"value":true}}` + AllValues *wrappers.BoolValue `protobuf:"bytes,3,opt,name=all_values,json=allValues,proto3,oneof"` +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value) isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind() { +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range) isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind() { +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues) isModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Kind() { +} + +// A range of values for slice(s). +// `low` is inclusive, `high` is exclusive. +type ModelEvaluationSlice_Slice_SliceSpec_Range struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Inclusive low value for the range. + Low float32 `protobuf:"fixed32,1,opt,name=low,proto3" json:"low,omitempty"` + // Exclusive high value for the range. + High float32 `protobuf:"fixed32,2,opt,name=high,proto3" json:"high,omitempty"` +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Range) Reset() { + *x = ModelEvaluationSlice_Slice_SliceSpec_Range{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Range) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_Range) ProtoMessage() {} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Range) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[4] + 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 ModelEvaluationSlice_Slice_SliceSpec_Range.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice_Slice_SliceSpec_Range) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0, 0, 0, 1} +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Range) GetLow() float32 { + if x != nil { + return x.Low + } + return 0 +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Range) GetHigh() float32 { + if x != nil { + return x.High + } + return 0 +} + +// Single value that supports strings and floats. +type ModelEvaluationSlice_Slice_SliceSpec_Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue + // *ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue + Kind isModelEvaluationSlice_Slice_SliceSpec_Value_Kind `protobuf_oneof:"kind"` +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Value) Reset() { + *x = ModelEvaluationSlice_Slice_SliceSpec_Value{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_Value) ProtoMessage() {} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Value) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[5] + 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 ModelEvaluationSlice_Slice_SliceSpec_Value.ProtoReflect.Descriptor instead. +func (*ModelEvaluationSlice_Slice_SliceSpec_Value) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP(), []int{0, 0, 0, 2} +} + +func (m *ModelEvaluationSlice_Slice_SliceSpec_Value) GetKind() isModelEvaluationSlice_Slice_SliceSpec_Value_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Value) GetStringValue() string { + if x, ok := x.GetKind().(*ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue); ok { + return x.StringValue + } + return "" +} + +func (x *ModelEvaluationSlice_Slice_SliceSpec_Value) GetFloatValue() float32 { + if x, ok := x.GetKind().(*ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue); ok { + return x.FloatValue + } + return 0 +} + +type isModelEvaluationSlice_Slice_SliceSpec_Value_Kind interface { + isModelEvaluationSlice_Slice_SliceSpec_Value_Kind() +} + +type ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue struct { + // String type. + StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue struct { + // Float type. + FloatValue float32 `protobuf:"fixed32,2,opt,name=float_value,json=floatValue,proto3,oneof"` +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue) isModelEvaluationSlice_Slice_SliceSpec_Value_Kind() { +} + +func (*ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue) isModelEvaluationSlice_Slice_SliceSpec_Value_Kind() { +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDesc = []byte{ + 0x0a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x9c, 0x0b, 0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x05, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x35, + 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe8, 0x06, + 0x0a, 0x05, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x6a, 0x0a, 0x0a, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x1a, 0xb4, 0x05, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x6d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x53, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, + 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x9e, + 0x02, 0x0a, 0x0b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x64, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x61, 0x6c, + 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, + 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, + 0x2d, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, + 0x67, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x1a, 0x57, + 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x8e, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x68, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x94, 0x01, 0xea, 0x41, 0x90, 0x01, 0x0a, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, + 0x5e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x7d, 0x42, + 0xf1, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x19, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_goTypes = []interface{}{ + (*ModelEvaluationSlice)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice + (*ModelEvaluationSlice_Slice)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice + (*ModelEvaluationSlice_Slice_SliceSpec)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec + (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.SliceConfig + (*ModelEvaluationSlice_Slice_SliceSpec_Range)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.Range + (*ModelEvaluationSlice_Slice_SliceSpec_Value)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.Value + nil, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.ConfigsEntry + (*_struct.Value)(nil), // 7: google.protobuf.Value + (*timestamp.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*ModelExplanation)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ModelExplanation + (*wrappers.BoolValue)(nil), // 10: google.protobuf.BoolValue +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.slice:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice + 7, // 1: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.metrics:type_name -> google.protobuf.Value + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.create_time:type_name -> google.protobuf.Timestamp + 9, // 3: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.model_explanation:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelExplanation + 2, // 4: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.slice_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec + 6, // 5: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.ConfigsEntry + 5, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.SliceConfig.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.Value + 4, // 7: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.SliceConfig.range:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.Range + 10, // 8: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.SliceConfig.all_values:type_name -> google.protobuf.BoolValue + 3, // 9: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.ConfigsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.Slice.SliceSpec.SliceConfig + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice_Slice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice_Slice_SliceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice_Slice_SliceSpec_Range); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelEvaluationSlice_Slice_SliceSpec_Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Value)(nil), + (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_Range)(nil), + (*ModelEvaluationSlice_Slice_SliceSpec_SliceConfig_AllValues)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ModelEvaluationSlice_Slice_SliceSpec_Value_StringValue)(nil), + (*ModelEvaluationSlice_Slice_SliceSpec_Value_FloatValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.go new file mode 100644 index 0000000000..b090933e82 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.go @@ -0,0 +1,561 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_garden_service.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// View enumeration of PublisherModel. +type PublisherModelView int32 + +const ( + // The default / unset value. The API will default to the BASIC view. + PublisherModelView_PUBLISHER_MODEL_VIEW_UNSPECIFIED PublisherModelView = 0 + // Include basic metadata about the publisher model, but not the full + // contents. + PublisherModelView_PUBLISHER_MODEL_VIEW_BASIC PublisherModelView = 1 + // Include everything. + PublisherModelView_PUBLISHER_MODEL_VIEW_FULL PublisherModelView = 2 + // Include: VersionId, ModelVersionExternalName, and SupportedActions. + PublisherModelView_PUBLISHER_MODEL_VERSION_VIEW_BASIC PublisherModelView = 3 +) + +// Enum value maps for PublisherModelView. +var ( + PublisherModelView_name = map[int32]string{ + 0: "PUBLISHER_MODEL_VIEW_UNSPECIFIED", + 1: "PUBLISHER_MODEL_VIEW_BASIC", + 2: "PUBLISHER_MODEL_VIEW_FULL", + 3: "PUBLISHER_MODEL_VERSION_VIEW_BASIC", + } + PublisherModelView_value = map[string]int32{ + "PUBLISHER_MODEL_VIEW_UNSPECIFIED": 0, + "PUBLISHER_MODEL_VIEW_BASIC": 1, + "PUBLISHER_MODEL_VIEW_FULL": 2, + "PUBLISHER_MODEL_VERSION_VIEW_BASIC": 3, + } +) + +func (x PublisherModelView) Enum() *PublisherModelView { + p := new(PublisherModelView) + *p = x + return p +} + +func (x PublisherModelView) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublisherModelView) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_enumTypes[0].Descriptor() +} + +func (PublisherModelView) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_enumTypes[0] +} + +func (x PublisherModelView) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublisherModelView.Descriptor instead. +func (PublisherModelView) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescGZIP(), []int{0} +} + +// Request message for +// [ModelGardenService.GetPublisherModel][mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.GetPublisherModel] +type GetPublisherModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PublisherModel resource. + // Format: + // `publishers/{publisher}/models/{publisher_model}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The IETF BCP-47 language code representing the language in which + // the publisher model's text information should be written in (see go/bcp47). + LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Optional. PublisherModel view specifying which fields to read. + View PublisherModelView `protobuf:"varint,3,opt,name=view,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PublisherModelView" json:"view,omitempty"` +} + +func (x *GetPublisherModelRequest) Reset() { + *x = GetPublisherModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPublisherModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPublisherModelRequest) ProtoMessage() {} + +func (x *GetPublisherModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[0] + 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 GetPublisherModelRequest.ProtoReflect.Descriptor instead. +func (*GetPublisherModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescGZIP(), []int{0} +} + +func (x *GetPublisherModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetPublisherModelRequest) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *GetPublisherModelRequest) GetView() PublisherModelView { + if x != nil { + return x.View + } + return PublisherModelView_PUBLISHER_MODEL_VIEW_UNSPECIFIED +} + +// Request message for +// [ModelGardenService.ListPublisherModels][mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels]. +type ListPublisherModelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Publisher from which to list the PublisherModels. + // Format: `publishers/{publisher}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListPublisherModelsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsResponse.next_page_token] + // of the previous + // [ModelGardenService.ListPublisherModels][mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. PublisherModel view specifying which fields to read. + View PublisherModelView `protobuf:"varint,5,opt,name=view,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PublisherModelView" json:"view,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Optional. The IETF BCP-47 language code representing the language in which + // the publisher models' text information should be written in (see go/bcp47). + // If not set, by default English (en). + LanguageCode string `protobuf:"bytes,7,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` +} + +func (x *ListPublisherModelsRequest) Reset() { + *x = ListPublisherModelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPublisherModelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublisherModelsRequest) ProtoMessage() {} + +func (x *ListPublisherModelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[1] + 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 ListPublisherModelsRequest.ProtoReflect.Descriptor instead. +func (*ListPublisherModelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListPublisherModelsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPublisherModelsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListPublisherModelsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPublisherModelsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListPublisherModelsRequest) GetView() PublisherModelView { + if x != nil { + return x.View + } + return PublisherModelView_PUBLISHER_MODEL_VIEW_UNSPECIFIED +} + +func (x *ListPublisherModelsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListPublisherModelsRequest) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +// Response message for +// [ModelGardenService.ListPublisherModels][mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels]. +type ListPublisherModelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of PublisherModels in the requested page. + PublisherModels []*PublisherModel `protobuf:"bytes,1,rep,name=publisher_models,json=publisherModels,proto3" json:"publisher_models,omitempty"` + // A token to retrieve next page of results. + // Pass to [ListPublisherModels.page_token][] to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPublisherModelsResponse) Reset() { + *x = ListPublisherModelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPublisherModelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublisherModelsResponse) ProtoMessage() {} + +func (x *ListPublisherModelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_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 ListPublisherModelsResponse.ProtoReflect.Descriptor instead. +func (*ListPublisherModelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListPublisherModelsResponse) GetPublisherModels() []*PublisherModel { + if x != nil { + return x.PublisherModels + } + return nil +} + +func (x *ListPublisherModelsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x67, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0xb5, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, + 0x76, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xa2, + 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, + 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x2a, 0xa1, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x56, 0x49, + 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x4c, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, + 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x4c, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, + 0x26, 0x0a, 0x22, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, + 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x03, 0x32, 0xea, 0x03, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x47, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb7, + 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 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, 0xef, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x47, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_goTypes = []interface{}{ + (PublisherModelView)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PublisherModelView + (*GetPublisherModelRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetPublisherModelRequest + (*ListPublisherModelsRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsRequest + (*ListPublisherModelsResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsResponse + (*PublisherModel)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.PublisherModel +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.GetPublisherModelRequest.view:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModelView + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsRequest.view:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModelView + 4, // 2: mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsResponse.publisher_models:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.GetPublisherModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetPublisherModelRequest + 2, // 4: mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsRequest + 4, // 5: mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.GetPublisherModel:output_type -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel + 3, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelGardenService.ListPublisherModels:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListPublisherModelsResponse + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPublisherModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPublisherModelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPublisherModelsResponse); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_garden_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.gw.go new file mode 100644 index 0000000000..53f330deec --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service.pb.gw.go @@ -0,0 +1,328 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/model_garden_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_ModelGardenService_GetPublisherModel_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelGardenService_GetPublisherModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelGardenServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPublisherModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelGardenService_GetPublisherModel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetPublisherModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelGardenService_GetPublisherModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelGardenServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPublisherModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelGardenService_GetPublisherModel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetPublisherModel(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelGardenService_ListPublisherModels_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelGardenService_ListPublisherModels_0(ctx context.Context, marshaler runtime.Marshaler, client ModelGardenServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPublisherModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelGardenService_ListPublisherModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListPublisherModels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelGardenService_ListPublisherModels_0(ctx context.Context, marshaler runtime.Marshaler, server ModelGardenServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPublisherModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelGardenService_ListPublisherModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListPublisherModels(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterModelGardenServiceHandlerServer registers the http handlers for service ModelGardenService to "mux". +// UnaryRPC :call ModelGardenServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterModelGardenServiceHandlerFromEndpoint instead. +func RegisterModelGardenServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ModelGardenServiceServer) error { + + mux.Handle("GET", pattern_ModelGardenService_GetPublisherModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/GetPublisherModel", runtime.WithHTTPPathPattern("/v1beta1/{name=publishers/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelGardenService_GetPublisherModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelGardenService_GetPublisherModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelGardenService_ListPublisherModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/ListPublisherModels", runtime.WithHTTPPathPattern("/v1beta1/{parent=publishers/*}/models")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelGardenService_ListPublisherModels_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelGardenService_ListPublisherModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterModelGardenServiceHandlerFromEndpoint is same as RegisterModelGardenServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterModelGardenServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterModelGardenServiceHandler(ctx, mux, conn) +} + +// RegisterModelGardenServiceHandler registers the http handlers for service ModelGardenService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterModelGardenServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterModelGardenServiceHandlerClient(ctx, mux, NewModelGardenServiceClient(conn)) +} + +// RegisterModelGardenServiceHandlerClient registers the http handlers for service ModelGardenService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ModelGardenServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ModelGardenServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ModelGardenServiceClient" to call the correct interceptors. +func RegisterModelGardenServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ModelGardenServiceClient) error { + + mux.Handle("GET", pattern_ModelGardenService_GetPublisherModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/GetPublisherModel", runtime.WithHTTPPathPattern("/v1beta1/{name=publishers/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelGardenService_GetPublisherModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelGardenService_GetPublisherModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelGardenService_ListPublisherModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/ListPublisherModels", runtime.WithHTTPPathPattern("/v1beta1/{parent=publishers/*}/models")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelGardenService_ListPublisherModels_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelGardenService_ListPublisherModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ModelGardenService_GetPublisherModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1beta1", "publishers", "models", "name"}, "")) + + pattern_ModelGardenService_ListPublisherModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1beta1", "publishers", "parent", "models"}, "")) +) + +var ( + forward_ModelGardenService_GetPublisherModel_0 = runtime.ForwardResponseMessage + + forward_ModelGardenService_ListPublisherModels_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service_grpc.pb.go new file mode 100644 index 0000000000..1d9ab67ead --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_garden_service_grpc.pb.go @@ -0,0 +1,145 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_garden_service.proto + +package aiplatformpb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// ModelGardenServiceClient is the client API for ModelGardenService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ModelGardenServiceClient interface { + // Gets a Model Garden publisher model. + GetPublisherModel(ctx context.Context, in *GetPublisherModelRequest, opts ...grpc.CallOption) (*PublisherModel, error) + // Lists publisher models in Model Garden. + ListPublisherModels(ctx context.Context, in *ListPublisherModelsRequest, opts ...grpc.CallOption) (*ListPublisherModelsResponse, error) +} + +type modelGardenServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewModelGardenServiceClient(cc grpc.ClientConnInterface) ModelGardenServiceClient { + return &modelGardenServiceClient{cc} +} + +func (c *modelGardenServiceClient) GetPublisherModel(ctx context.Context, in *GetPublisherModelRequest, opts ...grpc.CallOption) (*PublisherModel, error) { + out := new(PublisherModel) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/GetPublisherModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelGardenServiceClient) ListPublisherModels(ctx context.Context, in *ListPublisherModelsRequest, opts ...grpc.CallOption) (*ListPublisherModelsResponse, error) { + out := new(ListPublisherModelsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/ListPublisherModels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ModelGardenServiceServer is the server API for ModelGardenService service. +// All implementations must embed UnimplementedModelGardenServiceServer +// for forward compatibility +type ModelGardenServiceServer interface { + // Gets a Model Garden publisher model. + GetPublisherModel(context.Context, *GetPublisherModelRequest) (*PublisherModel, error) + // Lists publisher models in Model Garden. + ListPublisherModels(context.Context, *ListPublisherModelsRequest) (*ListPublisherModelsResponse, error) + mustEmbedUnimplementedModelGardenServiceServer() +} + +// UnimplementedModelGardenServiceServer must be embedded to have forward compatible implementations. +type UnimplementedModelGardenServiceServer struct { +} + +func (UnimplementedModelGardenServiceServer) GetPublisherModel(context.Context, *GetPublisherModelRequest) (*PublisherModel, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPublisherModel not implemented") +} +func (UnimplementedModelGardenServiceServer) ListPublisherModels(context.Context, *ListPublisherModelsRequest) (*ListPublisherModelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPublisherModels not implemented") +} +func (UnimplementedModelGardenServiceServer) mustEmbedUnimplementedModelGardenServiceServer() {} + +// UnsafeModelGardenServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ModelGardenServiceServer will +// result in compilation errors. +type UnsafeModelGardenServiceServer interface { + mustEmbedUnimplementedModelGardenServiceServer() +} + +func RegisterModelGardenServiceServer(s grpc.ServiceRegistrar, srv ModelGardenServiceServer) { + s.RegisterService(&ModelGardenService_ServiceDesc, srv) +} + +func _ModelGardenService_GetPublisherModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPublisherModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelGardenServiceServer).GetPublisherModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/GetPublisherModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelGardenServiceServer).GetPublisherModel(ctx, req.(*GetPublisherModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelGardenService_ListPublisherModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPublisherModelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelGardenServiceServer).ListPublisherModels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelGardenService/ListPublisherModels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelGardenServiceServer).ListPublisherModels(ctx, req.(*ListPublisherModelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ModelGardenService_ServiceDesc is the grpc.ServiceDesc for ModelGardenService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ModelGardenService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.ModelGardenService", + HandlerType: (*ModelGardenServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetPublisherModel", + Handler: _ModelGardenService_GetPublisherModel_Handler, + }, + { + MethodName: "ListPublisherModels", + Handler: _ModelGardenService_ListPublisherModels_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/model_garden_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_monitoring.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_monitoring.pb.go new file mode 100644 index 0000000000..1057d949d3 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_monitoring.pb.go @@ -0,0 +1,1595 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_monitoring.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The storage format of the predictions generated BatchPrediction job. +type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat int32 + +const ( + // Should not be set. + ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PREDICTION_FORMAT_UNSPECIFIED ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 0 + // Predictions are in JSONL files. + ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_JSONL ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 2 + // Predictions are in BigQuery. + ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_BIGQUERY ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat = 3 +) + +// Enum value maps for ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat. +var ( + ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat_name = map[int32]string{ + 0: "PREDICTION_FORMAT_UNSPECIFIED", + 2: "JSONL", + 3: "BIGQUERY", + } + ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat_value = map[string]int32{ + "PREDICTION_FORMAT_UNSPECIFIED": 0, + "JSONL": 2, + "BIGQUERY": 3, + } +) + +func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Enum() *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat { + p := new(ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) + *p = x + return p +} + +func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes[0].Descriptor() +} + +func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes[0] +} + +func (x ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat.Descriptor instead. +func (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 3, 0, 0} +} + +// The model monitoring configuration used for Batch Prediction Job. +type ModelMonitoringConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Model monitoring objective config. + ObjectiveConfigs []*ModelMonitoringObjectiveConfig `protobuf:"bytes,3,rep,name=objective_configs,json=objectiveConfigs,proto3" json:"objective_configs,omitempty"` + // Model monitoring alert config. + AlertConfig *ModelMonitoringAlertConfig `protobuf:"bytes,2,opt,name=alert_config,json=alertConfig,proto3" json:"alert_config,omitempty"` + // YAML schema file uri in Cloud Storage describing the format of a single + // instance that you want Tensorflow Data Validation (TFDV) to analyze. + // + // If there are any data type differences between predict instance and TFDV + // instance, this field can be used to override the schema. + // For models trained with Vertex AI, this field must be set as all the + // fields in predict instance formatted as string. + AnalysisInstanceSchemaUri string `protobuf:"bytes,4,opt,name=analysis_instance_schema_uri,json=analysisInstanceSchemaUri,proto3" json:"analysis_instance_schema_uri,omitempty"` + // A Google Cloud Storage location for batch prediction model monitoring to + // dump statistics and anomalies. + // If not provided, a folder will be created in customer project to hold + // statistics and anomalies. + StatsAnomaliesBaseDirectory *GcsDestination `protobuf:"bytes,5,opt,name=stats_anomalies_base_directory,json=statsAnomaliesBaseDirectory,proto3" json:"stats_anomalies_base_directory,omitempty"` +} + +func (x *ModelMonitoringConfig) Reset() { + *x = ModelMonitoringConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringConfig) ProtoMessage() {} + +func (x *ModelMonitoringConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0] + 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 ModelMonitoringConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{0} +} + +func (x *ModelMonitoringConfig) GetObjectiveConfigs() []*ModelMonitoringObjectiveConfig { + if x != nil { + return x.ObjectiveConfigs + } + return nil +} + +func (x *ModelMonitoringConfig) GetAlertConfig() *ModelMonitoringAlertConfig { + if x != nil { + return x.AlertConfig + } + return nil +} + +func (x *ModelMonitoringConfig) GetAnalysisInstanceSchemaUri() string { + if x != nil { + return x.AnalysisInstanceSchemaUri + } + return "" +} + +func (x *ModelMonitoringConfig) GetStatsAnomaliesBaseDirectory() *GcsDestination { + if x != nil { + return x.StatsAnomaliesBaseDirectory + } + return nil +} + +// The objective configuration for model monitoring, including the information +// needed to detect anomalies for one particular model. +type ModelMonitoringObjectiveConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Training dataset for models. This field has to be set only if + // TrainingPredictionSkewDetectionConfig is specified. + TrainingDataset *ModelMonitoringObjectiveConfig_TrainingDataset `protobuf:"bytes,1,opt,name=training_dataset,json=trainingDataset,proto3" json:"training_dataset,omitempty"` + // The config for skew between training data and prediction data. + TrainingPredictionSkewDetectionConfig *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig `protobuf:"bytes,2,opt,name=training_prediction_skew_detection_config,json=trainingPredictionSkewDetectionConfig,proto3" json:"training_prediction_skew_detection_config,omitempty"` + // The config for drift of prediction data. + PredictionDriftDetectionConfig *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig `protobuf:"bytes,3,opt,name=prediction_drift_detection_config,json=predictionDriftDetectionConfig,proto3" json:"prediction_drift_detection_config,omitempty"` + // The config for integrating with Vertex Explainable AI. + ExplanationConfig *ModelMonitoringObjectiveConfig_ExplanationConfig `protobuf:"bytes,5,opt,name=explanation_config,json=explanationConfig,proto3" json:"explanation_config,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig) Reset() { + *x = ModelMonitoringObjectiveConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1] + 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 ModelMonitoringObjectiveConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1} +} + +func (x *ModelMonitoringObjectiveConfig) GetTrainingDataset() *ModelMonitoringObjectiveConfig_TrainingDataset { + if x != nil { + return x.TrainingDataset + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig) GetTrainingPredictionSkewDetectionConfig() *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig { + if x != nil { + return x.TrainingPredictionSkewDetectionConfig + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig) GetPredictionDriftDetectionConfig() *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig { + if x != nil { + return x.PredictionDriftDetectionConfig + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig) GetExplanationConfig() *ModelMonitoringObjectiveConfig_ExplanationConfig { + if x != nil { + return x.ExplanationConfig + } + return nil +} + +// The alert config for model monitoring. +type ModelMonitoringAlertConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Alert: + // + // *ModelMonitoringAlertConfig_EmailAlertConfig_ + Alert isModelMonitoringAlertConfig_Alert `protobuf_oneof:"alert"` + // Dump the anomalies to Cloud Logging. The anomalies will be put to json + // payload encoded from proto + // [mockgcp.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry][]. + // This can be further sinked to Pub/Sub or any other services supported + // by Cloud Logging. + EnableLogging bool `protobuf:"varint,2,opt,name=enable_logging,json=enableLogging,proto3" json:"enable_logging,omitempty"` + // Resource names of the NotificationChannels to send alert. + // Must be of the format + // `projects//notificationChannels/` + NotificationChannels []string `protobuf:"bytes,3,rep,name=notification_channels,json=notificationChannels,proto3" json:"notification_channels,omitempty"` +} + +func (x *ModelMonitoringAlertConfig) Reset() { + *x = ModelMonitoringAlertConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringAlertConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringAlertConfig) ProtoMessage() {} + +func (x *ModelMonitoringAlertConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_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 ModelMonitoringAlertConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringAlertConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{2} +} + +func (m *ModelMonitoringAlertConfig) GetAlert() isModelMonitoringAlertConfig_Alert { + if m != nil { + return m.Alert + } + return nil +} + +func (x *ModelMonitoringAlertConfig) GetEmailAlertConfig() *ModelMonitoringAlertConfig_EmailAlertConfig { + if x, ok := x.GetAlert().(*ModelMonitoringAlertConfig_EmailAlertConfig_); ok { + return x.EmailAlertConfig + } + return nil +} + +func (x *ModelMonitoringAlertConfig) GetEnableLogging() bool { + if x != nil { + return x.EnableLogging + } + return false +} + +func (x *ModelMonitoringAlertConfig) GetNotificationChannels() []string { + if x != nil { + return x.NotificationChannels + } + return nil +} + +type isModelMonitoringAlertConfig_Alert interface { + isModelMonitoringAlertConfig_Alert() +} + +type ModelMonitoringAlertConfig_EmailAlertConfig_ struct { + // Email alert config. + EmailAlertConfig *ModelMonitoringAlertConfig_EmailAlertConfig `protobuf:"bytes,1,opt,name=email_alert_config,json=emailAlertConfig,proto3,oneof"` +} + +func (*ModelMonitoringAlertConfig_EmailAlertConfig_) isModelMonitoringAlertConfig_Alert() {} + +// The config for feature monitoring threshold. +type ThresholdConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Threshold: + // + // *ThresholdConfig_Value + Threshold isThresholdConfig_Threshold `protobuf_oneof:"threshold"` +} + +func (x *ThresholdConfig) Reset() { + *x = ThresholdConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ThresholdConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ThresholdConfig) ProtoMessage() {} + +func (x *ThresholdConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3] + 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 ThresholdConfig.ProtoReflect.Descriptor instead. +func (*ThresholdConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{3} +} + +func (m *ThresholdConfig) GetThreshold() isThresholdConfig_Threshold { + if m != nil { + return m.Threshold + } + return nil +} + +func (x *ThresholdConfig) GetValue() float64 { + if x, ok := x.GetThreshold().(*ThresholdConfig_Value); ok { + return x.Value + } + return 0 +} + +type isThresholdConfig_Threshold interface { + isThresholdConfig_Threshold() +} + +type ThresholdConfig_Value struct { + // Specify a threshold value that can trigger the alert. + // If this threshold config is for feature distribution distance: + // 1. For categorical feature, the distribution distance is calculated by + // L-inifinity norm. + // 2. For numerical feature, the distribution distance is calculated by + // Jensen–Shannon divergence. + // + // Each feature must have a non-zero threshold if they need to be monitored. + // Otherwise no alert will be triggered for that feature. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"` +} + +func (*ThresholdConfig_Value) isThresholdConfig_Threshold() {} + +// Sampling Strategy for logging, can be for both training and prediction +// dataset. +type SamplingStrategy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Random sample config. Will support more sampling strategies later. + RandomSampleConfig *SamplingStrategy_RandomSampleConfig `protobuf:"bytes,1,opt,name=random_sample_config,json=randomSampleConfig,proto3" json:"random_sample_config,omitempty"` +} + +func (x *SamplingStrategy) Reset() { + *x = SamplingStrategy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SamplingStrategy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SamplingStrategy) ProtoMessage() {} + +func (x *SamplingStrategy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4] + 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 SamplingStrategy.ProtoReflect.Descriptor instead. +func (*SamplingStrategy) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{4} +} + +func (x *SamplingStrategy) GetRandomSampleConfig() *SamplingStrategy_RandomSampleConfig { + if x != nil { + return x.RandomSampleConfig + } + return nil +} + +// Training Dataset information. +type ModelMonitoringObjectiveConfig_TrainingDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to DataSource: + // + // *ModelMonitoringObjectiveConfig_TrainingDataset_Dataset + // *ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource + // *ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource + DataSource isModelMonitoringObjectiveConfig_TrainingDataset_DataSource `protobuf_oneof:"data_source"` + // Data format of the dataset, only applicable if the input is from + // Google Cloud Storage. + // The possible formats are: + // + // "tf-record" + // The source file is a TFRecord file. + // + // "csv" + // The source file is a CSV file. + // "jsonl" + // The source file is a JSONL file. + DataFormat string `protobuf:"bytes,2,opt,name=data_format,json=dataFormat,proto3" json:"data_format,omitempty"` + // The target field name the model is to predict. + // This field will be excluded when doing Predict and (or) Explain for the + // training data. + TargetField string `protobuf:"bytes,6,opt,name=target_field,json=targetField,proto3" json:"target_field,omitempty"` + // Strategy to sample data from Training Dataset. + // If not set, we process the whole dataset. + LoggingSamplingStrategy *SamplingStrategy `protobuf:"bytes,7,opt,name=logging_sampling_strategy,json=loggingSamplingStrategy,proto3" json:"logging_sampling_strategy,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) Reset() { + *x = ModelMonitoringObjectiveConfig_TrainingDataset{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig_TrainingDataset) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5] + 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 ModelMonitoringObjectiveConfig_TrainingDataset.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig_TrainingDataset) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 0} +} + +func (m *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataSource() isModelMonitoringObjectiveConfig_TrainingDataset_DataSource { + if m != nil { + return m.DataSource + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataset() string { + if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset); ok { + return x.Dataset + } + return "" +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetGcsSource() *GcsSource { + if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetBigquerySource() *BigQuerySource { + if x, ok := x.GetDataSource().(*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource); ok { + return x.BigquerySource + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetDataFormat() string { + if x != nil { + return x.DataFormat + } + return "" +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetTargetField() string { + if x != nil { + return x.TargetField + } + return "" +} + +func (x *ModelMonitoringObjectiveConfig_TrainingDataset) GetLoggingSamplingStrategy() *SamplingStrategy { + if x != nil { + return x.LoggingSamplingStrategy + } + return nil +} + +type isModelMonitoringObjectiveConfig_TrainingDataset_DataSource interface { + isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() +} + +type ModelMonitoringObjectiveConfig_TrainingDataset_Dataset struct { + // The resource name of the Dataset used to train this Model. + Dataset string `protobuf:"bytes,3,opt,name=dataset,proto3,oneof"` +} + +type ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource struct { + // The Google Cloud Storage uri of the unmanaged Dataset used to train + // this Model. + GcsSource *GcsSource `protobuf:"bytes,4,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource struct { + // The BigQuery table of the unmanaged Dataset used to train this + // Model. + BigquerySource *BigQuerySource `protobuf:"bytes,5,opt,name=bigquery_source,json=bigquerySource,proto3,oneof"` +} + +func (*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { +} + +func (*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { +} + +func (*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource) isModelMonitoringObjectiveConfig_TrainingDataset_DataSource() { +} + +// The config for Training & Prediction data skew detection. It specifies the +// training dataset sources and the skew detection parameters. +type ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Key is the feature name and value is the threshold. If a feature needs to + // be monitored for skew, a value threshold must be configured for that + // feature. The threshold here is against feature distribution distance + // between the training and prediction feature. + SkewThresholds map[string]*ThresholdConfig `protobuf:"bytes,1,rep,name=skew_thresholds,json=skewThresholds,proto3" json:"skew_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Key is the feature name and value is the threshold. The threshold here is + // against attribution score distance between the training and prediction + // feature. + AttributionScoreSkewThresholds map[string]*ThresholdConfig `protobuf:"bytes,2,rep,name=attribution_score_skew_thresholds,json=attributionScoreSkewThresholds,proto3" json:"attribution_score_skew_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Skew anomaly detection threshold used by all features. + // When the per-feature thresholds are not set, this field can be used to + // specify a threshold for all features. + DefaultSkewThreshold *ThresholdConfig `protobuf:"bytes,6,opt,name=default_skew_threshold,json=defaultSkewThreshold,proto3" json:"default_skew_threshold,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) Reset() { + *x = ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_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 ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) GetSkewThresholds() map[string]*ThresholdConfig { + if x != nil { + return x.SkewThresholds + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) GetAttributionScoreSkewThresholds() map[string]*ThresholdConfig { + if x != nil { + return x.AttributionScoreSkewThresholds + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig) GetDefaultSkewThreshold() *ThresholdConfig { + if x != nil { + return x.DefaultSkewThreshold + } + return nil +} + +// The config for Prediction data drift detection. +type ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Key is the feature name and value is the threshold. If a feature needs to + // be monitored for drift, a value threshold must be configured for that + // feature. The threshold here is against feature distribution distance + // between different time windws. + DriftThresholds map[string]*ThresholdConfig `protobuf:"bytes,1,rep,name=drift_thresholds,json=driftThresholds,proto3" json:"drift_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Key is the feature name and value is the threshold. The threshold here is + // against attribution score distance between different time windows. + AttributionScoreDriftThresholds map[string]*ThresholdConfig `protobuf:"bytes,2,rep,name=attribution_score_drift_thresholds,json=attributionScoreDriftThresholds,proto3" json:"attribution_score_drift_thresholds,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Drift anomaly detection threshold used by all features. + // When the per-feature thresholds are not set, this field can be used to + // specify a threshold for all features. + DefaultDriftThreshold *ThresholdConfig `protobuf:"bytes,5,opt,name=default_drift_threshold,json=defaultDriftThreshold,proto3" json:"default_drift_threshold,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) Reset() { + *x = ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7] + 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 ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) GetDriftThresholds() map[string]*ThresholdConfig { + if x != nil { + return x.DriftThresholds + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) GetAttributionScoreDriftThresholds() map[string]*ThresholdConfig { + if x != nil { + return x.AttributionScoreDriftThresholds + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig) GetDefaultDriftThreshold() *ThresholdConfig { + if x != nil { + return x.DefaultDriftThreshold + } + return nil +} + +// The config for integrating with Vertex Explainable AI. Only applicable if +// the Model has explanation_spec populated. +type ModelMonitoringObjectiveConfig_ExplanationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If want to analyze the Vertex Explainable AI feature attribute scores or + // not. If set to true, Vertex AI will log the feature attributions from + // explain response and do the skew/drift detection for them. + EnableFeatureAttributes bool `protobuf:"varint,1,opt,name=enable_feature_attributes,json=enableFeatureAttributes,proto3" json:"enable_feature_attributes,omitempty"` + // Predictions generated by the BatchPredictionJob using baseline dataset. + ExplanationBaseline *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline `protobuf:"bytes,2,opt,name=explanation_baseline,json=explanationBaseline,proto3" json:"explanation_baseline,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) Reset() { + *x = ModelMonitoringObjectiveConfig_ExplanationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig_ExplanationConfig) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_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 ModelMonitoringObjectiveConfig_ExplanationConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig_ExplanationConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) GetEnableFeatureAttributes() bool { + if x != nil { + return x.EnableFeatureAttributes + } + return false +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig) GetExplanationBaseline() *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline { + if x != nil { + return x.ExplanationBaseline + } + return nil +} + +// Output from +// [BatchPredictionJob][mockgcp.cloud.aiplatform.v1beta1.BatchPredictionJob] +// for Model Monitoring baseline dataset, which can be used to generate +// baseline attribution scores. +type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration specifying of BatchExplain job output. This can be + // used to generate the baseline of feature attribution scores. + // + // Types that are assignable to Destination: + // + // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs + // *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery + Destination isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination `protobuf_oneof:"destination"` + // The storage format of the predictions generated BatchPrediction job. + PredictionFormat ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat `protobuf:"varint,1,opt,name=prediction_format,json=predictionFormat,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat" json:"prediction_format,omitempty"` +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) Reset() { + *x = ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) ProtoMessage() {} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13] + 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 ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline.ProtoReflect.Descriptor instead. +func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{1, 3, 0} +} + +func (m *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetDestination() isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetGcs() *GcsDestination { + if x, ok := x.GetDestination().(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs); ok { + return x.Gcs + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetBigquery() *BigQueryDestination { + if x, ok := x.GetDestination().(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery); ok { + return x.Bigquery + } + return nil +} + +func (x *ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline) GetPredictionFormat() ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat { + if x != nil { + return x.PredictionFormat + } + return ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PREDICTION_FORMAT_UNSPECIFIED +} + +type isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination interface { + isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() +} + +type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs struct { + // Cloud Storage location for BatchExplain output. + Gcs *GcsDestination `protobuf:"bytes,2,opt,name=gcs,proto3,oneof"` +} + +type ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery struct { + // BigQuery location for BatchExplain output. + Bigquery *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery,proto3,oneof"` +} + +func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs) isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() { +} + +func (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery) isModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Destination() { +} + +// The config for email alert. +type ModelMonitoringAlertConfig_EmailAlertConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The email addresses to send the alert. + UserEmails []string `protobuf:"bytes,1,rep,name=user_emails,json=userEmails,proto3" json:"user_emails,omitempty"` +} + +func (x *ModelMonitoringAlertConfig_EmailAlertConfig) Reset() { + *x = ModelMonitoringAlertConfig_EmailAlertConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelMonitoringAlertConfig_EmailAlertConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelMonitoringAlertConfig_EmailAlertConfig) ProtoMessage() {} + +func (x *ModelMonitoringAlertConfig_EmailAlertConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14] + 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 ModelMonitoringAlertConfig_EmailAlertConfig.ProtoReflect.Descriptor instead. +func (*ModelMonitoringAlertConfig_EmailAlertConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *ModelMonitoringAlertConfig_EmailAlertConfig) GetUserEmails() []string { + if x != nil { + return x.UserEmails + } + return nil +} + +// Requests are randomly selected. +type SamplingStrategy_RandomSampleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sample rate (0, 1] + SampleRate float64 `protobuf:"fixed64,1,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"` +} + +func (x *SamplingStrategy_RandomSampleConfig) Reset() { + *x = SamplingStrategy_RandomSampleConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SamplingStrategy_RandomSampleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SamplingStrategy_RandomSampleConfig) ProtoMessage() {} + +func (x *SamplingStrategy_RandomSampleConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_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 SamplingStrategy_RandomSampleConfig.ProtoReflect.Descriptor instead. +func (*SamplingStrategy_RandomSampleConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *SamplingStrategy_RandomSampleConfig) GetSampleRate() float64 { + if x != nil { + return x.SampleRate + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x9f, 0x03, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x11, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x5f, 0x0a, 0x0c, 0x61, 0x6c, + 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, + 0x61, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x1c, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x55, 0x72, 0x69, 0x12, 0x75, 0x0a, 0x1e, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x5f, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, + 0x6d, 0x61, 0x6c, 0x69, 0x65, 0x73, 0x42, 0x61, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x22, 0x91, 0x1a, 0x0a, 0x1e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x12, 0xc0, 0x01, 0x0a, 0x29, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x65, 0x77, + 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x25, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xaa, 0x01, 0x0a, 0x21, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x1e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x81, 0x01, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x52, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xc3, 0x03, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, + 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, + 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x6e, + 0x0a, 0x19, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x17, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x8c, 0x06, + 0x0a, 0x25, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa3, 0x01, 0x0a, 0x0f, 0x73, 0x6b, 0x65, 0x77, + 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x7a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, + 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xd6, 0x01, + 0x0a, 0x21, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x8a, 0x01, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x6b, 0x65, 0x77, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x67, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x73, 0x6b, 0x65, 0x77, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, + 0x74, 0x0a, 0x13, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x84, 0x01, 0x0a, 0x23, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x6b, 0x65, 0x77, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x06, 0x0a, + 0x1e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, 0x74, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x9f, 0x01, 0x0a, 0x10, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x74, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, 0x74, 0x44, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x72, 0x69, 0x66, + 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x22, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x84, + 0x01, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x69, 0x66, + 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x1a, 0x75, 0x0a, 0x14, 0x44, 0x72, 0x69, 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x85, 0x01, 0x0a, 0x24, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x69, + 0x66, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0xa4, 0x05, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x66, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0xb6, + 0x03, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, + 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x44, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x67, 0x63, 0x73, 0x12, 0x53, 0x0a, 0x08, + 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0xa4, 0x01, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x77, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x73, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x1d, + 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x4a, 0x53, 0x4f, 0x4e, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, + 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x03, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x02, 0x0a, 0x1a, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7d, 0x0a, 0x12, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, + 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x67, 0x0a, 0x15, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x32, 0xfa, 0x41, 0x2f, + 0x0a, 0x2d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x33, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, + 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x6c, + 0x65, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x10, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x12, 0x77, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, + 0x67, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x35, 0x0a, 0x12, 0x52, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, + 0x42, 0xde, 0x02, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, + 0x41, 0x6f, 0x0a, 0x2d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes = []interface{}{ + (ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_PredictionFormat)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat + (*ModelMonitoringConfig)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig + (*ModelMonitoringObjectiveConfig)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig + (*ModelMonitoringAlertConfig)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig + (*ThresholdConfig)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + (*SamplingStrategy)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy + (*ModelMonitoringObjectiveConfig_TrainingDataset)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset + (*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig + (*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig + (*ModelMonitoringObjectiveConfig_ExplanationConfig)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig + nil, // 10: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry + nil, // 11: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry + nil, // 12: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry + nil, // 13: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry + (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline + (*ModelMonitoringAlertConfig_EmailAlertConfig)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.EmailAlertConfig + (*SamplingStrategy_RandomSampleConfig)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy.RandomSampleConfig + (*GcsDestination)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*GcsSource)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.GcsSource + (*BigQuerySource)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + (*BigQueryDestination)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig.objective_configs:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig.alert_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig + 17, // 2: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringConfig.stats_anomalies_base_directory:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 6, // 3: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.training_dataset:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset + 7, // 4: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.training_prediction_skew_detection_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig + 8, // 5: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.prediction_drift_detection_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig + 9, // 6: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.explanation_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig + 15, // 7: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.email_alert_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringAlertConfig.EmailAlertConfig + 16, // 8: mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy.random_sample_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy.RandomSampleConfig + 18, // 9: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.gcs_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsSource + 19, // 10: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.bigquery_source:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQuerySource + 5, // 11: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingDataset.logging_sampling_strategy:type_name -> mockgcp.cloud.aiplatform.v1beta1.SamplingStrategy + 10, // 12: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.skew_thresholds:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry + 11, // 13: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.attribution_score_skew_thresholds:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.default_skew_threshold:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 12, // 15: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.drift_thresholds:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry + 13, // 16: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.attribution_score_drift_thresholds:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry + 4, // 17: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.default_drift_threshold:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 14, // 18: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.explanation_baseline:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline + 4, // 19: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.SkewThresholdsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 4, // 20: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.TrainingPredictionSkewDetectionConfig.AttributionScoreSkewThresholdsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 4, // 21: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.DriftThresholdsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 4, // 22: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.PredictionDriftDetectionConfig.AttributionScoreDriftThresholdsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ThresholdConfig + 17, // 23: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.gcs:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 20, // 24: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.bigquery:type_name -> mockgcp.cloud.aiplatform.v1beta1.BigQueryDestination + 0, // 25: mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.prediction_format:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelMonitoringObjectiveConfig.ExplanationConfig.ExplanationBaseline.PredictionFormat + 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringAlertConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ThresholdConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SamplingStrategy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig_TrainingDataset); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig_TrainingPredictionSkewDetectionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig_PredictionDriftDetectionConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig_ExplanationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelMonitoringAlertConfig_EmailAlertConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SamplingStrategy_RandomSampleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*ModelMonitoringAlertConfig_EmailAlertConfig_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ThresholdConfig_Value)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ModelMonitoringObjectiveConfig_TrainingDataset_Dataset)(nil), + (*ModelMonitoringObjectiveConfig_TrainingDataset_GcsSource)(nil), + (*ModelMonitoringObjectiveConfig_TrainingDataset_BigquerySource)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes[13].OneofWrappers = []interface{}{ + (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Gcs)(nil), + (*ModelMonitoringObjectiveConfig_ExplanationConfig_ExplanationBaseline_Bigquery)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc, + NumEnums: 1, + NumMessages: 16, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_monitoring_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.go new file mode 100644 index 0000000000..a3b353f8ec --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.go @@ -0,0 +1,3580 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel]. +type UploadModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location into which to upload the Model. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The resource name of the model into which to upload the version. + // Only specify this field when uploading a new version. + ParentModel string `protobuf:"bytes,4,opt,name=parent_model,json=parentModel,proto3" json:"parent_model,omitempty"` + // Optional. The ID to use for the uploaded Model, which will become the final + // component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + ModelId string `protobuf:"bytes,5,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"` + // Required. The Model to create. + Model *Model `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` + // Optional. The user-provided custom service account to use to do the model + // upload. If empty, [Vertex AI Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + // will be used to access resources needed to upload the model. This account + // must belong to the target project where the model is uploaded to, i.e., the + // project specified in the `parent` field of this request and have necessary + // read permissions (to Google Cloud Storage, Artifact Registry, etc.). + ServiceAccount string `protobuf:"bytes,6,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` +} + +func (x *UploadModelRequest) Reset() { + *x = UploadModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadModelRequest) ProtoMessage() {} + +func (x *UploadModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[0] + 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 UploadModelRequest.ProtoReflect.Descriptor instead. +func (*UploadModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{0} +} + +func (x *UploadModelRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *UploadModelRequest) GetParentModel() string { + if x != nil { + return x.ParentModel + } + return "" +} + +func (x *UploadModelRequest) GetModelId() string { + if x != nil { + return x.ModelId + } + return "" +} + +func (x *UploadModelRequest) GetModel() *Model { + if x != nil { + return x.Model + } + return nil +} + +func (x *UploadModelRequest) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +// Details of +// [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel] +// operation. +type UploadModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UploadModelOperationMetadata) Reset() { + *x = UploadModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadModelOperationMetadata) ProtoMessage() {} + +func (x *UploadModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[1] + 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 UploadModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*UploadModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{1} +} + +func (x *UploadModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Response message of +// [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel] +// operation. +type UploadModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the uploaded Model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The version ID of the model that is uploaded. + ModelVersionId string `protobuf:"bytes,2,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` +} + +func (x *UploadModelResponse) Reset() { + *x = UploadModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadModelResponse) ProtoMessage() {} + +func (x *UploadModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_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 UploadModelResponse.ProtoReflect.Descriptor instead. +func (*UploadModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UploadModelResponse) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *UploadModelResponse) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +// Request message for +// [ModelService.GetModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModel]. +type GetModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + // + // In order to retrieve a specific version of the model, also provide + // the version ID or version alias. + // + // Example: `projects/{project}/locations/{location}/models/{model}@2` + // or + // `projects/{project}/locations/{location}/models/{model}@golden` + // + // If no version ID or alias is specified, the "default" version will be + // returned. The "default" version alias is created for the first version of + // the model, and can be moved to other versions later on. There will be + // exactly one default version. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetModelRequest) Reset() { + *x = GetModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelRequest) ProtoMessage() {} + +func (x *GetModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[3] + 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 GetModelRequest.ProtoReflect.Descriptor instead. +func (*GetModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{3} +} + +func (x *GetModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ModelService.ListModels][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModels]. +type ListModelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the Models from. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // - `model` supports = and !=. `model` represents the Model ID, + // i.e. the last segment of the Model's [resource + // name][mockgcp.cloud.aiplatform.v1beta1.Model.name]. + // - `display_name` supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // - `model=1234` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListModelsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelsResponse.next_page_token] + // of the previous + // [ModelService.ListModels][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModels] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListModelsRequest) Reset() { + *x = ListModelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelsRequest) ProtoMessage() {} + +func (x *ListModelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[4] + 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 ListModelsRequest.ProtoReflect.Descriptor instead. +func (*ListModelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListModelsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListModelsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListModelsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListModelsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListModelsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [ModelService.ListModels][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModels] +type ListModelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Models in the requested page. + Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListModelsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListModelsResponse) Reset() { + *x = ListModelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelsResponse) ProtoMessage() {} + +func (x *ListModelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[5] + 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 ListModelsResponse.ProtoReflect.Descriptor instead. +func (*ListModelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListModelsResponse) GetModels() []*Model { + if x != nil { + return x.Models + } + return nil +} + +func (x *ListModelsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [ModelService.ListModelVersions][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelVersions]. +type ListModelVersionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the model to list versions for. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsResponse.next_page_token] + // of the previous + // [ListModelVersions][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelVersions] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // An expression for filtering the results of the request. For field names + // both snake_case and camelCase are supported. + // + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // + // Some examples: + // + // - `labels.myKey="myValue"` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // A comma-separated list of fields to order by, sorted in ascending order. + // Use "desc" after a field name for descending. + // Supported fields: + // + // - `create_time` + // - `update_time` + // + // Example: `update_time asc, create_time desc`. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListModelVersionsRequest) Reset() { + *x = ListModelVersionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelVersionsRequest) ProtoMessage() {} + +func (x *ListModelVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_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 ListModelVersionsRequest.ProtoReflect.Descriptor instead. +func (*ListModelVersionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ListModelVersionsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListModelVersionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListModelVersionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListModelVersionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListModelVersionsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListModelVersionsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [ModelService.ListModelVersions][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelVersions] +type ListModelVersionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Model versions in the requested page. + // In the returned Model name field, version ID instead of regvision tag will + // be included. + Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListModelVersionsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListModelVersionsResponse) Reset() { + *x = ListModelVersionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelVersionsResponse) ProtoMessage() {} + +func (x *ListModelVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[7] + 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 ListModelVersionsResponse.ProtoReflect.Descriptor instead. +func (*ListModelVersionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ListModelVersionsResponse) GetModels() []*Model { + if x != nil { + return x.Models + } + return nil +} + +func (x *ListModelVersionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [ModelService.UpdateModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateModel]. +type UpdateModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Model which replaces the resource on the server. + // When Model Versioning is enabled, the model.name will be used to determine + // whether to update the model or model version. + // 1. model.name with the @ value, e.g. models/123@1, refers to a version + // specific update. + // 2. model.name without the @ value, e.g. models/123, refers to a model + // update. + // 3. model.name with @-, e.g. models/123@-, refers to a model update. + // 4. Supported model fields: display_name, description; supported + // version-specific fields: version_description. Labels are supported in both + // scenarios. Both the model labels and the version labels are merged when a + // model is returned. When updating labels, if the request is for + // model-specific update, model label gets updated. Otherwise, version labels + // get updated. + // 5. A model name or model version name fields update mismatch will cause a + // precondition error. + // 6. One request cannot update both the model and the version fields. You + // must update them separately. + Model *Model `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Required. The update mask applies to the resource. + // For the `FieldMask` definition, see + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateModelRequest) Reset() { + *x = UpdateModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateModelRequest) ProtoMessage() {} + +func (x *UpdateModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_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 UpdateModelRequest.ProtoReflect.Descriptor instead. +func (*UpdateModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{8} +} + +func (x *UpdateModelRequest) GetModel() *Model { + if x != nil { + return x.Model + } + return nil +} + +func (x *UpdateModelRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [ModelService.UpdateExplanationDataset][mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset]. +type UpdateExplanationDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Model to update. + // Format: `projects/{project}/locations/{location}/models/{model}` + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // The example config containing the location of the dataset. + Examples *Examples `protobuf:"bytes,2,opt,name=examples,proto3" json:"examples,omitempty"` +} + +func (x *UpdateExplanationDatasetRequest) Reset() { + *x = UpdateExplanationDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExplanationDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExplanationDatasetRequest) ProtoMessage() {} + +func (x *UpdateExplanationDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[9] + 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 UpdateExplanationDatasetRequest.ProtoReflect.Descriptor instead. +func (*UpdateExplanationDatasetRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{9} +} + +func (x *UpdateExplanationDatasetRequest) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *UpdateExplanationDatasetRequest) GetExamples() *Examples { + if x != nil { + return x.Examples + } + return nil +} + +// Runtime operation information for +// [ModelService.UpdateExplanationDataset][mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset]. +type UpdateExplanationDatasetOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateExplanationDatasetOperationMetadata) Reset() { + *x = UpdateExplanationDatasetOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExplanationDatasetOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExplanationDatasetOperationMetadata) ProtoMessage() {} + +func (x *UpdateExplanationDatasetOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[10] + 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 UpdateExplanationDatasetOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateExplanationDatasetOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateExplanationDatasetOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [ModelService.DeleteModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModel]. +type DeleteModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Model resource to be deleted. + // Format: `projects/{project}/locations/{location}/models/{model}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteModelRequest) Reset() { + *x = DeleteModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelRequest) ProtoMessage() {} + +func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[11] + 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 DeleteModelRequest.ProtoReflect.Descriptor instead. +func (*DeleteModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{11} +} + +func (x *DeleteModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ModelService.DeleteModelVersion][mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion]. +type DeleteModelVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the model version to be deleted, with a version ID + // explicitly included. + // + // Example: `projects/{project}/locations/{location}/models/{model}@1234` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteModelVersionRequest) Reset() { + *x = DeleteModelVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelVersionRequest) ProtoMessage() {} + +func (x *DeleteModelVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[12] + 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 DeleteModelVersionRequest.ProtoReflect.Descriptor instead. +func (*DeleteModelVersionRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteModelVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ModelService.MergeVersionAliases][mockgcp.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases]. +type MergeVersionAliasesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the model version to merge aliases, with a version ID + // explicitly included. + // + // Example: `projects/{project}/locations/{location}/models/{model}@1234` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The set of version aliases to merge. + // The alias should be at most 128 characters, and match + // `[a-z][a-zA-Z0-9-]{0,126}[a-z-0-9]`. + // Add the `-` prefix to an alias means removing that alias from the version. + // `-` is NOT counted in the 128 characters. Example: `-golden` means removing + // the `golden` alias from the version. + // + // There is NO ordering in aliases, which means + // 1) The aliases returned from GetModel API might not have the exactly same + // order from this MergeVersionAliases API. 2) Adding and deleting the same + // alias in the request is not recommended, and the 2 operations will be + // cancelled out. + VersionAliases []string `protobuf:"bytes,2,rep,name=version_aliases,json=versionAliases,proto3" json:"version_aliases,omitempty"` +} + +func (x *MergeVersionAliasesRequest) Reset() { + *x = MergeVersionAliasesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MergeVersionAliasesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MergeVersionAliasesRequest) ProtoMessage() {} + +func (x *MergeVersionAliasesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[13] + 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 MergeVersionAliasesRequest.ProtoReflect.Descriptor instead. +func (*MergeVersionAliasesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{13} +} + +func (x *MergeVersionAliasesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MergeVersionAliasesRequest) GetVersionAliases() []string { + if x != nil { + return x.VersionAliases + } + return nil +} + +// Request message for +// [ModelService.ExportModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.ExportModel]. +type ExportModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Model to export. + // The resource name may contain version id or version alias to specify the + // version, if no version is specified, the default version will be exported. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The desired output location and configuration. + OutputConfig *ExportModelRequest_OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` +} + +func (x *ExportModelRequest) Reset() { + *x = ExportModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportModelRequest) ProtoMessage() {} + +func (x *ExportModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[14] + 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 ExportModelRequest.ProtoReflect.Descriptor instead. +func (*ExportModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{14} +} + +func (x *ExportModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportModelRequest) GetOutputConfig() *ExportModelRequest_OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +// Details of +// [ModelService.ExportModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.ExportModel] +// operation. +type ExportModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Output only. Information further describing the output of this Model + // export. + OutputInfo *ExportModelOperationMetadata_OutputInfo `protobuf:"bytes,2,opt,name=output_info,json=outputInfo,proto3" json:"output_info,omitempty"` +} + +func (x *ExportModelOperationMetadata) Reset() { + *x = ExportModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportModelOperationMetadata) ProtoMessage() {} + +func (x *ExportModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_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 ExportModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*ExportModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{15} +} + +func (x *ExportModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *ExportModelOperationMetadata) GetOutputInfo() *ExportModelOperationMetadata_OutputInfo { + if x != nil { + return x.OutputInfo + } + return nil +} + +// Response message of +// [ModelService.UpdateExplanationDataset][mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset] +// operation. +type UpdateExplanationDatasetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateExplanationDatasetResponse) Reset() { + *x = UpdateExplanationDatasetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateExplanationDatasetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExplanationDatasetResponse) ProtoMessage() {} + +func (x *UpdateExplanationDatasetResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[16] + 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 UpdateExplanationDatasetResponse.ProtoReflect.Descriptor instead. +func (*UpdateExplanationDatasetResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{16} +} + +// Response message of +// [ModelService.ExportModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.ExportModel] +// operation. +type ExportModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExportModelResponse) Reset() { + *x = ExportModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportModelResponse) ProtoMessage() {} + +func (x *ExportModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[17] + 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 ExportModelResponse.ProtoReflect.Descriptor instead. +func (*ExportModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{17} +} + +// Request message for +// [ModelService.CopyModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.CopyModel]. +type CopyModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If both fields are unset, a new Model will be created with a generated ID. + // + // Types that are assignable to DestinationModel: + // + // *CopyModelRequest_ModelId + // *CopyModelRequest_ParentModel + DestinationModel isCopyModelRequest_DestinationModel `protobuf_oneof:"destination_model"` + // Required. The resource name of the Location into which to copy the Model. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The resource name of the Model to copy. That Model must be in the + // same Project. Format: + // `projects/{project}/locations/{location}/models/{model}` + SourceModel string `protobuf:"bytes,2,opt,name=source_model,json=sourceModel,proto3" json:"source_model,omitempty"` + // Customer-managed encryption key options. If this is set, + // then the Model copy will be encrypted with the provided encryption key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,3,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *CopyModelRequest) Reset() { + *x = CopyModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CopyModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CopyModelRequest) ProtoMessage() {} + +func (x *CopyModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18] + 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 CopyModelRequest.ProtoReflect.Descriptor instead. +func (*CopyModelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{18} +} + +func (m *CopyModelRequest) GetDestinationModel() isCopyModelRequest_DestinationModel { + if m != nil { + return m.DestinationModel + } + return nil +} + +func (x *CopyModelRequest) GetModelId() string { + if x, ok := x.GetDestinationModel().(*CopyModelRequest_ModelId); ok { + return x.ModelId + } + return "" +} + +func (x *CopyModelRequest) GetParentModel() string { + if x, ok := x.GetDestinationModel().(*CopyModelRequest_ParentModel); ok { + return x.ParentModel + } + return "" +} + +func (x *CopyModelRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CopyModelRequest) GetSourceModel() string { + if x != nil { + return x.SourceModel + } + return "" +} + +func (x *CopyModelRequest) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +type isCopyModelRequest_DestinationModel interface { + isCopyModelRequest_DestinationModel() +} + +type CopyModelRequest_ModelId struct { + // Optional. Copy source_model into a new Model with this ID. The ID will + // become the final component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + ModelId string `protobuf:"bytes,4,opt,name=model_id,json=modelId,proto3,oneof"` +} + +type CopyModelRequest_ParentModel struct { + // Optional. Specify this field to copy source_model into this existing + // Model as a new version. Format: + // `projects/{project}/locations/{location}/models/{model}` + ParentModel string `protobuf:"bytes,5,opt,name=parent_model,json=parentModel,proto3,oneof"` +} + +func (*CopyModelRequest_ModelId) isCopyModelRequest_DestinationModel() {} + +func (*CopyModelRequest_ParentModel) isCopyModelRequest_DestinationModel() {} + +// Details of +// [ModelService.CopyModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.CopyModel] +// operation. +type CopyModelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CopyModelOperationMetadata) Reset() { + *x = CopyModelOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CopyModelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CopyModelOperationMetadata) ProtoMessage() {} + +func (x *CopyModelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[19] + 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 CopyModelOperationMetadata.ProtoReflect.Descriptor instead. +func (*CopyModelOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{19} +} + +func (x *CopyModelOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Response message of +// [ModelService.CopyModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.CopyModel] +// operation. +type CopyModelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the copied Model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The version ID of the model that is copied. + ModelVersionId string `protobuf:"bytes,2,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` +} + +func (x *CopyModelResponse) Reset() { + *x = CopyModelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CopyModelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CopyModelResponse) ProtoMessage() {} + +func (x *CopyModelResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[20] + 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 CopyModelResponse.ProtoReflect.Descriptor instead. +func (*CopyModelResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{20} +} + +func (x *CopyModelResponse) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *CopyModelResponse) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +// Request message for +// [ModelService.ImportModelEvaluation][mockgcp.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation] +type ImportModelEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the parent model resource. + // Format: `projects/{project}/locations/{location}/models/{model}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Model evaluation resource to be imported. + ModelEvaluation *ModelEvaluation `protobuf:"bytes,2,opt,name=model_evaluation,json=modelEvaluation,proto3" json:"model_evaluation,omitempty"` +} + +func (x *ImportModelEvaluationRequest) Reset() { + *x = ImportModelEvaluationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportModelEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportModelEvaluationRequest) ProtoMessage() {} + +func (x *ImportModelEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21] + 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 ImportModelEvaluationRequest.ProtoReflect.Descriptor instead. +func (*ImportModelEvaluationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ImportModelEvaluationRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportModelEvaluationRequest) GetModelEvaluation() *ModelEvaluation { + if x != nil { + return x.ModelEvaluation + } + return nil +} + +// Request message for +// [ModelService.BatchImportModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices] +type BatchImportModelEvaluationSlicesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the parent ModelEvaluation resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Model evaluation slice resource to be imported. + ModelEvaluationSlices []*ModelEvaluationSlice `protobuf:"bytes,2,rep,name=model_evaluation_slices,json=modelEvaluationSlices,proto3" json:"model_evaluation_slices,omitempty"` +} + +func (x *BatchImportModelEvaluationSlicesRequest) Reset() { + *x = BatchImportModelEvaluationSlicesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchImportModelEvaluationSlicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchImportModelEvaluationSlicesRequest) ProtoMessage() {} + +func (x *BatchImportModelEvaluationSlicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[22] + 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 BatchImportModelEvaluationSlicesRequest.ProtoReflect.Descriptor instead. +func (*BatchImportModelEvaluationSlicesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{22} +} + +func (x *BatchImportModelEvaluationSlicesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchImportModelEvaluationSlicesRequest) GetModelEvaluationSlices() []*ModelEvaluationSlice { + if x != nil { + return x.ModelEvaluationSlices + } + return nil +} + +// Response message for +// [ModelService.BatchImportModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices] +type BatchImportModelEvaluationSlicesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. List of imported + // [ModelEvaluationSlice.name][mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice.name]. + ImportedModelEvaluationSlices []string `protobuf:"bytes,1,rep,name=imported_model_evaluation_slices,json=importedModelEvaluationSlices,proto3" json:"imported_model_evaluation_slices,omitempty"` +} + +func (x *BatchImportModelEvaluationSlicesResponse) Reset() { + *x = BatchImportModelEvaluationSlicesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchImportModelEvaluationSlicesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchImportModelEvaluationSlicesResponse) ProtoMessage() {} + +func (x *BatchImportModelEvaluationSlicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[23] + 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 BatchImportModelEvaluationSlicesResponse.ProtoReflect.Descriptor instead. +func (*BatchImportModelEvaluationSlicesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{23} +} + +func (x *BatchImportModelEvaluationSlicesResponse) GetImportedModelEvaluationSlices() []string { + if x != nil { + return x.ImportedModelEvaluationSlices + } + return nil +} + +// Request message for +// [ModelService.BatchImportEvaluatedAnnotations][mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations] +type BatchImportEvaluatedAnnotationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the parent ModelEvaluationSlice resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Evaluated annotations resource to be imported. + EvaluatedAnnotations []*EvaluatedAnnotation `protobuf:"bytes,2,rep,name=evaluated_annotations,json=evaluatedAnnotations,proto3" json:"evaluated_annotations,omitempty"` +} + +func (x *BatchImportEvaluatedAnnotationsRequest) Reset() { + *x = BatchImportEvaluatedAnnotationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchImportEvaluatedAnnotationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchImportEvaluatedAnnotationsRequest) ProtoMessage() {} + +func (x *BatchImportEvaluatedAnnotationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[24] + 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 BatchImportEvaluatedAnnotationsRequest.ProtoReflect.Descriptor instead. +func (*BatchImportEvaluatedAnnotationsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{24} +} + +func (x *BatchImportEvaluatedAnnotationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchImportEvaluatedAnnotationsRequest) GetEvaluatedAnnotations() []*EvaluatedAnnotation { + if x != nil { + return x.EvaluatedAnnotations + } + return nil +} + +// Response message for +// [ModelService.BatchImportEvaluatedAnnotations][mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations] +type BatchImportEvaluatedAnnotationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Number of EvaluatedAnnotations imported. + ImportedEvaluatedAnnotationsCount int32 `protobuf:"varint,1,opt,name=imported_evaluated_annotations_count,json=importedEvaluatedAnnotationsCount,proto3" json:"imported_evaluated_annotations_count,omitempty"` +} + +func (x *BatchImportEvaluatedAnnotationsResponse) Reset() { + *x = BatchImportEvaluatedAnnotationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchImportEvaluatedAnnotationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchImportEvaluatedAnnotationsResponse) ProtoMessage() {} + +func (x *BatchImportEvaluatedAnnotationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[25] + 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 BatchImportEvaluatedAnnotationsResponse.ProtoReflect.Descriptor instead. +func (*BatchImportEvaluatedAnnotationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{25} +} + +func (x *BatchImportEvaluatedAnnotationsResponse) GetImportedEvaluatedAnnotationsCount() int32 { + if x != nil { + return x.ImportedEvaluatedAnnotationsCount + } + return 0 +} + +// Request message for +// [ModelService.GetModelEvaluation][mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation]. +type GetModelEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the ModelEvaluation resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetModelEvaluationRequest) Reset() { + *x = GetModelEvaluationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelEvaluationRequest) ProtoMessage() {} + +func (x *GetModelEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[26] + 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 GetModelEvaluationRequest.ProtoReflect.Descriptor instead. +func (*GetModelEvaluationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{26} +} + +func (x *GetModelEvaluationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ModelService.ListModelEvaluations][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations]. +type ListModelEvaluationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Model to list the ModelEvaluations from. + // Format: `projects/{project}/locations/{location}/models/{model}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListModelEvaluationsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.next_page_token] + // of the previous + // [ModelService.ListModelEvaluations][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListModelEvaluationsRequest) Reset() { + *x = ListModelEvaluationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelEvaluationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelEvaluationsRequest) ProtoMessage() {} + +func (x *ListModelEvaluationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[27] + 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 ListModelEvaluationsRequest.ProtoReflect.Descriptor instead. +func (*ListModelEvaluationsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{27} +} + +func (x *ListModelEvaluationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListModelEvaluationsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListModelEvaluationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListModelEvaluationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListModelEvaluationsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [ModelService.ListModelEvaluations][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations]. +type ListModelEvaluationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of ModelEvaluations in the requested page. + ModelEvaluations []*ModelEvaluation `protobuf:"bytes,1,rep,name=model_evaluations,json=modelEvaluations,proto3" json:"model_evaluations,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListModelEvaluationsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListModelEvaluationsResponse) Reset() { + *x = ListModelEvaluationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelEvaluationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelEvaluationsResponse) ProtoMessage() {} + +func (x *ListModelEvaluationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[28] + 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 ListModelEvaluationsResponse.ProtoReflect.Descriptor instead. +func (*ListModelEvaluationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{28} +} + +func (x *ListModelEvaluationsResponse) GetModelEvaluations() []*ModelEvaluation { + if x != nil { + return x.ModelEvaluations + } + return nil +} + +func (x *ListModelEvaluationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [ModelService.GetModelEvaluationSlice][mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice]. +type GetModelEvaluationSliceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the ModelEvaluationSlice resource. + // Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetModelEvaluationSliceRequest) Reset() { + *x = GetModelEvaluationSliceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelEvaluationSliceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelEvaluationSliceRequest) ProtoMessage() {} + +func (x *GetModelEvaluationSliceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[29] + 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 GetModelEvaluationSliceRequest.ProtoReflect.Descriptor instead. +func (*GetModelEvaluationSliceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{29} +} + +func (x *GetModelEvaluationSliceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ModelService.ListModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices]. +type ListModelEvaluationSlicesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the ModelEvaluation to list the + // ModelEvaluationSlices from. Format: + // `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // - `slice.dimension` - for =. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListModelEvaluationSlicesResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.next_page_token] + // of the previous + // [ModelService.ListModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListModelEvaluationSlicesRequest) Reset() { + *x = ListModelEvaluationSlicesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelEvaluationSlicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelEvaluationSlicesRequest) ProtoMessage() {} + +func (x *ListModelEvaluationSlicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[30] + 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 ListModelEvaluationSlicesRequest.ProtoReflect.Descriptor instead. +func (*ListModelEvaluationSlicesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListModelEvaluationSlicesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListModelEvaluationSlicesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListModelEvaluationSlicesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListModelEvaluationSlicesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListModelEvaluationSlicesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [ModelService.ListModelEvaluationSlices][mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices]. +type ListModelEvaluationSlicesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of ModelEvaluations in the requested page. + ModelEvaluationSlices []*ModelEvaluationSlice `protobuf:"bytes,1,rep,name=model_evaluation_slices,json=modelEvaluationSlices,proto3" json:"model_evaluation_slices,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListModelEvaluationSlicesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListModelEvaluationSlicesResponse) Reset() { + *x = ListModelEvaluationSlicesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListModelEvaluationSlicesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModelEvaluationSlicesResponse) ProtoMessage() {} + +func (x *ListModelEvaluationSlicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[31] + 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 ListModelEvaluationSlicesResponse.ProtoReflect.Descriptor instead. +func (*ListModelEvaluationSlicesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{31} +} + +func (x *ListModelEvaluationSlicesResponse) GetModelEvaluationSlices() []*ModelEvaluationSlice { + if x != nil { + return x.ModelEvaluationSlices + } + return nil +} + +func (x *ListModelEvaluationSlicesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Output configuration for the Model export. +type ExportModelRequest_OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the format in which the Model must be exported. Each Model + // lists the [export formats it + // supports][mockgcp.cloud.aiplatform.v1beta1.Model.supported_export_formats]. + // If no value is provided here, then the first from the list of the Model's + // supported formats is used by default. + ExportFormatId string `protobuf:"bytes,1,opt,name=export_format_id,json=exportFormatId,proto3" json:"export_format_id,omitempty"` + // The Cloud Storage location where the Model artifact is to be + // written to. Under the directory given as the destination a new one with + // name "`model-export--`", + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, + // will be created. Inside, the Model and any of its supporting files + // will be written. + // This field should only be set when the `exportableContent` field of the + // [Model.supported_export_formats] object contains `ARTIFACT`. + ArtifactDestination *GcsDestination `protobuf:"bytes,3,opt,name=artifact_destination,json=artifactDestination,proto3" json:"artifact_destination,omitempty"` + // The Google Container Registry or Artifact Registry uri where the + // Model container image will be copied to. + // This field should only be set when the `exportableContent` field of the + // [Model.supported_export_formats] object contains `IMAGE`. + ImageDestination *ContainerRegistryDestination `protobuf:"bytes,4,opt,name=image_destination,json=imageDestination,proto3" json:"image_destination,omitempty"` +} + +func (x *ExportModelRequest_OutputConfig) Reset() { + *x = ExportModelRequest_OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportModelRequest_OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportModelRequest_OutputConfig) ProtoMessage() {} + +func (x *ExportModelRequest_OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[32] + 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 ExportModelRequest_OutputConfig.ProtoReflect.Descriptor instead. +func (*ExportModelRequest_OutputConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{14, 0} +} + +func (x *ExportModelRequest_OutputConfig) GetExportFormatId() string { + if x != nil { + return x.ExportFormatId + } + return "" +} + +func (x *ExportModelRequest_OutputConfig) GetArtifactDestination() *GcsDestination { + if x != nil { + return x.ArtifactDestination + } + return nil +} + +func (x *ExportModelRequest_OutputConfig) GetImageDestination() *ContainerRegistryDestination { + if x != nil { + return x.ImageDestination + } + return nil +} + +// Further describes the output of the ExportModel. Supplements +// [ExportModelRequest.OutputConfig][mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig]. +type ExportModelOperationMetadata_OutputInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. If the Model artifact is being exported to Google Cloud + // Storage this is the full path of the directory created, into which the + // Model files are being written to. + ArtifactOutputUri string `protobuf:"bytes,2,opt,name=artifact_output_uri,json=artifactOutputUri,proto3" json:"artifact_output_uri,omitempty"` + // Output only. If the Model image is being exported to Google Container + // Registry or Artifact Registry this is the full path of the image created. + ImageOutputUri string `protobuf:"bytes,3,opt,name=image_output_uri,json=imageOutputUri,proto3" json:"image_output_uri,omitempty"` +} + +func (x *ExportModelOperationMetadata_OutputInfo) Reset() { + *x = ExportModelOperationMetadata_OutputInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportModelOperationMetadata_OutputInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportModelOperationMetadata_OutputInfo) ProtoMessage() {} + +func (x *ExportModelOperationMetadata_OutputInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[33] + 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 ExportModelOperationMetadata_OutputInfo.ProtoReflect.Descriptor instead. +func (*ExportModelOperationMetadata_OutputInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP(), []int{15, 0} +} + +func (x *ExportModelOperationMetadata_OutputInfo) GetArtifactOutputUri() string { + if x != nil { + return x.ArtifactOutputUri + } + return "" +} + +func (x *ExportModelOperationMetadata_OutputInfo) GetImageOutputUri() string { + if x != nil { + return x.ImageOutputUri + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_model_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 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, 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, 0x22, 0x91, 0x02, 0x0a, 0x12, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1e, 0x0a, + 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x42, 0x0a, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x85, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x22, 0x7d, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 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, + 0xff, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x22, 0x84, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x9a, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x42, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa8, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, + 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x22, 0x92, 0x01, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, + 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, + 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x22, 0xcb, 0x03, 0x0a, + 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x6b, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x8a, 0x02, + 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, + 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x14, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, + 0x11, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe8, 0x02, 0x0a, 0x1c, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x6f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x70, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x33, 0x0a, 0x13, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x22, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x81, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x07, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, + 0x41, 0x01, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x13, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x83, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7e, 0x0a, 0x11, 0x43, 0x6f, + 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x1c, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x10, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xe9, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x28, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x6c, 0x69, 0x63, 0x65, 0x73, 0x22, 0xe9, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x6f, 0x0a, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x7f, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x24, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x21, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa6, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 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, 0x6c, 0x0a, + 0x1e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x20, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbb, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 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, 0x32, 0xab, 0x22, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x86, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x3a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, + 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0xca, + 0x41, 0x33, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa6, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x3e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb9, + 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x33, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, + 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd9, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x32, 0x35, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0xda, 0x41, 0x11, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, + 0xab, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x41, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 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, 0xac, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0xca, 0x41, 0x4d, + 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd5, 0x01, + 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 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, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, + 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe3, 0x01, 0x0a, 0x13, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, + 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, + 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x2c, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, + 0xf1, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x36, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x33, + 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xe8, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x34, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x3a, 0x63, + 0x6f, 0x70, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0xca, 0x41, 0x2f, 0x0a, + 0x11, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1a, 0x43, 0x6f, 0x70, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf5, + 0x01, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x17, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb9, 0x02, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x49, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, + 0x2a, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x73, 0x12, 0xb6, 0x02, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x59, 0x22, 0x54, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1c, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0xe5, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, + 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xea, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x6c, 0x69, 0x63, 0x65, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x22, 0x55, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xfd, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 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, 0xe9, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_goTypes = []interface{}{ + (*UploadModelRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.UploadModelRequest + (*UploadModelOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.UploadModelOperationMetadata + (*UploadModelResponse)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.UploadModelResponse + (*GetModelRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.GetModelRequest + (*ListModelsRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListModelsRequest + (*ListModelsResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ListModelsResponse + (*ListModelVersionsRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsRequest + (*ListModelVersionsResponse)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsResponse + (*UpdateModelRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.UpdateModelRequest + (*UpdateExplanationDatasetRequest)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest + (*UpdateExplanationDatasetOperationMetadata)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetOperationMetadata + (*DeleteModelRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.DeleteModelRequest + (*DeleteModelVersionRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.DeleteModelVersionRequest + (*MergeVersionAliasesRequest)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.MergeVersionAliasesRequest + (*ExportModelRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest + (*ExportModelOperationMetadata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.ExportModelOperationMetadata + (*UpdateExplanationDatasetResponse)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetResponse + (*ExportModelResponse)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ExportModelResponse + (*CopyModelRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.CopyModelRequest + (*CopyModelOperationMetadata)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.CopyModelOperationMetadata + (*CopyModelResponse)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.CopyModelResponse + (*ImportModelEvaluationRequest)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest + (*BatchImportModelEvaluationSlicesRequest)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest + (*BatchImportModelEvaluationSlicesResponse)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesResponse + (*BatchImportEvaluatedAnnotationsRequest)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest + (*BatchImportEvaluatedAnnotationsResponse)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsResponse + (*GetModelEvaluationRequest)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.GetModelEvaluationRequest + (*ListModelEvaluationsRequest)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest + (*ListModelEvaluationsResponse)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse + (*GetModelEvaluationSliceRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.GetModelEvaluationSliceRequest + (*ListModelEvaluationSlicesRequest)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest + (*ListModelEvaluationSlicesResponse)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse + (*ExportModelRequest_OutputConfig)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig + (*ExportModelOperationMetadata_OutputInfo)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.OutputInfo + (*Model)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.Model + (*GenericOperationMetadata)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 36: google.protobuf.FieldMask + (*Examples)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.Examples + (*EncryptionSpec)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*ModelEvaluation)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + (*ModelEvaluationSlice)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice + (*EvaluatedAnnotation)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation + (*GcsDestination)(nil), // 42: mockgcp.cloud.aiplatform.v1beta1.GcsDestination + (*ContainerRegistryDestination)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.ContainerRegistryDestination + (*longrunningpb.Operation)(nil), // 44: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_depIdxs = []int32{ + 34, // 0: mockgcp.cloud.aiplatform.v1beta1.UploadModelRequest.model:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model + 35, // 1: mockgcp.cloud.aiplatform.v1beta1.UploadModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 36, // 2: mockgcp.cloud.aiplatform.v1beta1.ListModelsRequest.read_mask:type_name -> google.protobuf.FieldMask + 34, // 3: mockgcp.cloud.aiplatform.v1beta1.ListModelsResponse.models:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model + 36, // 4: mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsRequest.read_mask:type_name -> google.protobuf.FieldMask + 34, // 5: mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsResponse.models:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model + 34, // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateModelRequest.model:type_name -> mockgcp.cloud.aiplatform.v1beta1.Model + 36, // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateModelRequest.update_mask:type_name -> google.protobuf.FieldMask + 37, // 8: mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest.examples:type_name -> mockgcp.cloud.aiplatform.v1beta1.Examples + 35, // 9: mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 32, // 10: mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.output_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig + 35, // 11: mockgcp.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 33, // 12: mockgcp.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.output_info:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExportModelOperationMetadata.OutputInfo + 38, // 13: mockgcp.cloud.aiplatform.v1beta1.CopyModelRequest.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 35, // 14: mockgcp.cloud.aiplatform.v1beta1.CopyModelOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 39, // 15: mockgcp.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest.model_evaluation:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + 40, // 16: mockgcp.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest.model_evaluation_slices:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice + 41, // 17: mockgcp.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest.evaluated_annotations:type_name -> mockgcp.cloud.aiplatform.v1beta1.EvaluatedAnnotation + 36, // 18: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest.read_mask:type_name -> google.protobuf.FieldMask + 39, // 19: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse.model_evaluations:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + 36, // 20: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest.read_mask:type_name -> google.protobuf.FieldMask + 40, // 21: mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse.model_evaluation_slices:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice + 42, // 22: mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig.artifact_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.GcsDestination + 43, // 23: mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest.OutputConfig.image_destination:type_name -> mockgcp.cloud.aiplatform.v1beta1.ContainerRegistryDestination + 0, // 24: mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.UploadModelRequest + 3, // 25: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetModelRequest + 4, // 26: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModels:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelsRequest + 6, // 27: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelVersions:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsRequest + 8, // 28: mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateModelRequest + 9, // 29: mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateExplanationDatasetRequest + 11, // 30: mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteModelRequest + 12, // 31: mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteModelVersionRequest + 13, // 32: mockgcp.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases:input_type -> mockgcp.cloud.aiplatform.v1beta1.MergeVersionAliasesRequest + 14, // 33: mockgcp.cloud.aiplatform.v1beta1.ModelService.ExportModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.ExportModelRequest + 18, // 34: mockgcp.cloud.aiplatform.v1beta1.ModelService.CopyModel:input_type -> mockgcp.cloud.aiplatform.v1beta1.CopyModelRequest + 21, // 35: mockgcp.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation:input_type -> mockgcp.cloud.aiplatform.v1beta1.ImportModelEvaluationRequest + 22, // 36: mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesRequest + 24, // 37: mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsRequest + 26, // 38: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetModelEvaluationRequest + 27, // 39: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsRequest + 29, // 40: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetModelEvaluationSliceRequest + 30, // 41: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRequest + 44, // 42: mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel:output_type -> google.longrunning.Operation + 34, // 43: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModel:output_type -> mockgcp.cloud.aiplatform.v1beta1.Model + 5, // 44: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModels:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelsResponse + 7, // 45: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelVersions:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelVersionsResponse + 34, // 46: mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateModel:output_type -> mockgcp.cloud.aiplatform.v1beta1.Model + 44, // 47: mockgcp.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset:output_type -> google.longrunning.Operation + 44, // 48: mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModel:output_type -> google.longrunning.Operation + 44, // 49: mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion:output_type -> google.longrunning.Operation + 34, // 50: mockgcp.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases:output_type -> mockgcp.cloud.aiplatform.v1beta1.Model + 44, // 51: mockgcp.cloud.aiplatform.v1beta1.ModelService.ExportModel:output_type -> google.longrunning.Operation + 44, // 52: mockgcp.cloud.aiplatform.v1beta1.ModelService.CopyModel:output_type -> google.longrunning.Operation + 39, // 53: mockgcp.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation:output_type -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + 23, // 54: mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchImportModelEvaluationSlicesResponse + 25, // 55: mockgcp.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchImportEvaluatedAnnotationsResponse + 39, // 56: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation:output_type -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluation + 28, // 57: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationsResponse + 40, // 58: mockgcp.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice:output_type -> mockgcp.cloud.aiplatform.v1beta1.ModelEvaluationSlice + 31, // 59: mockgcp.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesResponse + 42, // [42:60] is the sub-list for method output_type + 24, // [24:42] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_model_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_evaluated_annotation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_io_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_evaluation_slice_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadModelOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelVersionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelVersionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExplanationDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExplanationDatasetOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteModelVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeVersionAliasesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportModelOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExplanationDatasetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CopyModelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CopyModelOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CopyModelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportModelEvaluationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchImportModelEvaluationSlicesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchImportModelEvaluationSlicesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchImportEvaluatedAnnotationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchImportEvaluatedAnnotationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelEvaluationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelEvaluationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelEvaluationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelEvaluationSliceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelEvaluationSlicesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListModelEvaluationSlicesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportModelRequest_OutputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportModelOperationMetadata_OutputInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*CopyModelRequest_ModelId)(nil), + (*CopyModelRequest_ParentModel)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 34, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_model_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_model_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.gw.go new file mode 100644 index 0000000000..ee829b4154 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service.pb.gw.go @@ -0,0 +1,2188 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/model_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ModelService_UploadModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UploadModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.UploadModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_UploadModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UploadModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.UploadModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_GetModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_GetModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetModel(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelService_ListModels_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelService_ListModels_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListModels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ListModels_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListModels(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelService_ListModelVersions_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelService_ListModelVersions_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelVersionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListModelVersions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ListModelVersions_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelVersionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListModelVersions(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelService_UpdateModel_0 = &utilities.DoubleArray{Encoding: map[string]int{"model": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_ModelService_UpdateModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Model); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Model); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "model.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_UpdateModel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_UpdateModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Model); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Model); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "model.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_UpdateModel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_UpdateExplanationDataset_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateExplanationDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := client.UpdateExplanationDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_UpdateExplanationDataset_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateExplanationDatasetRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := server.UpdateExplanationDataset(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_DeleteModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_DeleteModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_DeleteModelVersion_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteModelVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_DeleteModelVersion_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteModelVersionRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteModelVersion(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_MergeVersionAliases_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MergeVersionAliasesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.MergeVersionAliases(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_MergeVersionAliases_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq MergeVersionAliasesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.MergeVersionAliases(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_ExportModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ExportModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ExportModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ExportModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_CopyModel_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CopyModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CopyModel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_CopyModel_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CopyModelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CopyModel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_ImportModelEvaluation_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportModelEvaluationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.ImportModelEvaluation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ImportModelEvaluation_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportModelEvaluationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.ImportModelEvaluation(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_BatchImportModelEvaluationSlices_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchImportModelEvaluationSlicesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchImportModelEvaluationSlices(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_BatchImportModelEvaluationSlices_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchImportModelEvaluationSlicesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchImportModelEvaluationSlices(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_BatchImportEvaluatedAnnotations_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchImportEvaluatedAnnotationsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchImportEvaluatedAnnotations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_BatchImportEvaluatedAnnotations_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchImportEvaluatedAnnotationsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchImportEvaluatedAnnotations(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_GetModelEvaluation_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelEvaluationRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetModelEvaluation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_GetModelEvaluation_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelEvaluationRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetModelEvaluation(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelService_ListModelEvaluations_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelService_ListModelEvaluations_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelEvaluationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelEvaluations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListModelEvaluations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ListModelEvaluations_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelEvaluationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelEvaluations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListModelEvaluations(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ModelService_GetModelEvaluationSlice_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelEvaluationSliceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetModelEvaluationSlice(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_GetModelEvaluationSlice_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetModelEvaluationSliceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetModelEvaluationSlice(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ModelService_ListModelEvaluationSlices_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ModelService_ListModelEvaluationSlices_0(ctx context.Context, marshaler runtime.Marshaler, client ModelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelEvaluationSlicesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelEvaluationSlices_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListModelEvaluationSlices(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ModelService_ListModelEvaluationSlices_0(ctx context.Context, marshaler runtime.Marshaler, server ModelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListModelEvaluationSlicesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ModelService_ListModelEvaluationSlices_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListModelEvaluationSlices(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterModelServiceHandlerServer registers the http handlers for service ModelService to "mux". +// UnaryRPC :call ModelServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterModelServiceHandlerFromEndpoint instead. +func RegisterModelServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ModelServiceServer) error { + + mux.Handle("POST", pattern_ModelService_UploadModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UploadModel", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models:upload")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_UploadModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UploadModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_GetModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModels", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ListModels_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelVersions", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:listVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ListModelVersions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ModelService_UpdateModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateModel", runtime.WithHTTPPathPattern("/v1beta1/{model.name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_UpdateModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UpdateModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_UpdateExplanationDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateExplanationDataset", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/models/*}:updateExplanationDataset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_UpdateExplanationDataset_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UpdateExplanationDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ModelService_DeleteModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_DeleteModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_DeleteModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ModelService_DeleteModelVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModelVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:deleteVersion")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_DeleteModelVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_DeleteModelVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_MergeVersionAliases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/MergeVersionAliases", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:mergeVersionAliases")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_MergeVersionAliases_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_MergeVersionAliases_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_ExportModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ExportModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:export")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ExportModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ExportModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_CopyModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/CopyModel", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models:copy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_CopyModel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_CopyModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_ImportModelEvaluation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ImportModelEvaluation", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations:import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ImportModelEvaluation_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ImportModelEvaluation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_BatchImportModelEvaluationSlices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportModelEvaluationSlices", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices:batchImport")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_BatchImportModelEvaluationSlices_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_BatchImportModelEvaluationSlices_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_BatchImportEvaluatedAnnotations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportEvaluatedAnnotations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*/slices/*}:batchImport")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_BatchImportEvaluatedAnnotations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_BatchImportEvaluatedAnnotations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModelEvaluation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluation", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_GetModelEvaluation_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModelEvaluation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelEvaluations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ListModelEvaluations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelEvaluations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModelEvaluationSlice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluationSlice", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/slices/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_GetModelEvaluationSlice_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModelEvaluationSlice_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelEvaluationSlices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluationSlices", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ModelService_ListModelEvaluationSlices_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelEvaluationSlices_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterModelServiceHandlerFromEndpoint is same as RegisterModelServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterModelServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterModelServiceHandler(ctx, mux, conn) +} + +// RegisterModelServiceHandler registers the http handlers for service ModelService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterModelServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterModelServiceHandlerClient(ctx, mux, NewModelServiceClient(conn)) +} + +// RegisterModelServiceHandlerClient registers the http handlers for service ModelService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ModelServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ModelServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ModelServiceClient" to call the correct interceptors. +func RegisterModelServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ModelServiceClient) error { + + mux.Handle("POST", pattern_ModelService_UploadModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UploadModel", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models:upload")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_UploadModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UploadModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_GetModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModels", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ListModels_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelVersions", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:listVersions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ListModelVersions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ModelService_UpdateModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateModel", runtime.WithHTTPPathPattern("/v1beta1/{model.name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_UpdateModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UpdateModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_UpdateExplanationDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateExplanationDataset", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/models/*}:updateExplanationDataset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_UpdateExplanationDataset_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_UpdateExplanationDataset_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ModelService_DeleteModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_DeleteModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_DeleteModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ModelService_DeleteModelVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModelVersion", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:deleteVersion")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_DeleteModelVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_DeleteModelVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_MergeVersionAliases_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/MergeVersionAliases", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:mergeVersionAliases")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_MergeVersionAliases_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_MergeVersionAliases_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_ExportModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ExportModel", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*}:export")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ExportModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ExportModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_CopyModel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/CopyModel", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/models:copy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_CopyModel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_CopyModel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_ImportModelEvaluation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ImportModelEvaluation", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations:import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ImportModelEvaluation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ImportModelEvaluation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_BatchImportModelEvaluationSlices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportModelEvaluationSlices", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices:batchImport")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_BatchImportModelEvaluationSlices_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_BatchImportModelEvaluationSlices_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ModelService_BatchImportEvaluatedAnnotations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportEvaluatedAnnotations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*/slices/*}:batchImport")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_BatchImportEvaluatedAnnotations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_BatchImportEvaluatedAnnotations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModelEvaluation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluation", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_GetModelEvaluation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModelEvaluation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelEvaluations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluations", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*}/evaluations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ListModelEvaluations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelEvaluations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_GetModelEvaluationSlice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluationSlice", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/slices/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_GetModelEvaluationSlice_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_GetModelEvaluationSlice_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ModelService_ListModelEvaluationSlices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluationSlices", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/models/*/evaluations/*}/slices")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ModelService_ListModelEvaluationSlices_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ModelService_ListModelEvaluationSlices_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ModelService_UploadModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "models"}, "upload")) + + pattern_ModelService_GetModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "")) + + pattern_ModelService_ListModels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "models"}, "")) + + pattern_ModelService_ListModelVersions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "listVersions")) + + pattern_ModelService_UpdateModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "model.name"}, "")) + + pattern_ModelService_UpdateExplanationDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "model"}, "updateExplanationDataset")) + + pattern_ModelService_DeleteModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "")) + + pattern_ModelService_DeleteModelVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "deleteVersion")) + + pattern_ModelService_MergeVersionAliases_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "mergeVersionAliases")) + + pattern_ModelService_ExportModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "models", "name"}, "export")) + + pattern_ModelService_CopyModel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "models"}, "copy")) + + pattern_ModelService_ImportModelEvaluation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "models", "parent", "evaluations"}, "import")) + + pattern_ModelService_BatchImportModelEvaluationSlices_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "models", "evaluations", "parent", "slices"}, "batchImport")) + + pattern_ModelService_BatchImportEvaluatedAnnotations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "models", "evaluations", "slices", "parent"}, "batchImport")) + + pattern_ModelService_GetModelEvaluation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "models", "evaluations", "name"}, "")) + + pattern_ModelService_ListModelEvaluations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "models", "parent", "evaluations"}, "")) + + pattern_ModelService_GetModelEvaluationSlice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "models", "evaluations", "slices", "name"}, "")) + + pattern_ModelService_ListModelEvaluationSlices_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "models", "evaluations", "parent", "slices"}, "")) +) + +var ( + forward_ModelService_UploadModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_GetModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_ListModels_0 = runtime.ForwardResponseMessage + + forward_ModelService_ListModelVersions_0 = runtime.ForwardResponseMessage + + forward_ModelService_UpdateModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_UpdateExplanationDataset_0 = runtime.ForwardResponseMessage + + forward_ModelService_DeleteModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_DeleteModelVersion_0 = runtime.ForwardResponseMessage + + forward_ModelService_MergeVersionAliases_0 = runtime.ForwardResponseMessage + + forward_ModelService_ExportModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_CopyModel_0 = runtime.ForwardResponseMessage + + forward_ModelService_ImportModelEvaluation_0 = runtime.ForwardResponseMessage + + forward_ModelService_BatchImportModelEvaluationSlices_0 = runtime.ForwardResponseMessage + + forward_ModelService_BatchImportEvaluatedAnnotations_0 = runtime.ForwardResponseMessage + + forward_ModelService_GetModelEvaluation_0 = runtime.ForwardResponseMessage + + forward_ModelService_ListModelEvaluations_0 = runtime.ForwardResponseMessage + + forward_ModelService_GetModelEvaluationSlice_0 = runtime.ForwardResponseMessage + + forward_ModelService_ListModelEvaluationSlices_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service_grpc.pb.go new file mode 100644 index 0000000000..28b2c8cffe --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/model_service_grpc.pb.go @@ -0,0 +1,796 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/model_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// ModelServiceClient is the client API for ModelService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ModelServiceClient interface { + // Uploads a Model artifact into Vertex AI. + UploadModel(ctx context.Context, in *UploadModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a Model. + GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) + // Lists Models in a Location. + ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) + // Lists versions of the specified model. + ListModelVersions(ctx context.Context, in *ListModelVersionsRequest, opts ...grpc.CallOption) (*ListModelVersionsResponse, error) + // Updates a Model. + UpdateModel(ctx context.Context, in *UpdateModelRequest, opts ...grpc.CallOption) (*Model, error) + // Incrementally update the dataset used for an examples model. + UpdateExplanationDataset(ctx context.Context, in *UpdateExplanationDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a Model. + // + // A model cannot be deleted if any + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] resource has a + // [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] based on the + // model in its + // [deployed_models][mockgcp.cloud.aiplatform.v1beta1.Endpoint.deployed_models] + // field. + DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a Model version. + // + // Model version can only be deleted if there are no + // [DeployedModels][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] created + // from it. Deleting the only version in the Model is not allowed. Use + // [DeleteModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModel] for + // deleting the Model instead. + DeleteModelVersion(ctx context.Context, in *DeleteModelVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Merges a set of aliases for a Model version. + MergeVersionAliases(ctx context.Context, in *MergeVersionAliasesRequest, opts ...grpc.CallOption) (*Model, error) + // Exports a trained, exportable Model to a location specified by the + // user. A Model is considered to be exportable if it has at least one + // [supported export + // format][mockgcp.cloud.aiplatform.v1beta1.Model.supported_export_formats]. + ExportModel(ctx context.Context, in *ExportModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Copies an already existing Vertex AI Model into the specified Location. + // The source Model must exist in the same Project. + // When copying custom Models, the users themselves are responsible for + // [Model.metadata][mockgcp.cloud.aiplatform.v1beta1.Model.metadata] content to + // be region-agnostic, as well as making sure that any resources (e.g. files) + // it depends on remain accessible. + CopyModel(ctx context.Context, in *CopyModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Imports an externally generated ModelEvaluation. + ImportModelEvaluation(ctx context.Context, in *ImportModelEvaluationRequest, opts ...grpc.CallOption) (*ModelEvaluation, error) + // Imports a list of externally generated ModelEvaluationSlice. + BatchImportModelEvaluationSlices(ctx context.Context, in *BatchImportModelEvaluationSlicesRequest, opts ...grpc.CallOption) (*BatchImportModelEvaluationSlicesResponse, error) + // Imports a list of externally generated EvaluatedAnnotations. + BatchImportEvaluatedAnnotations(ctx context.Context, in *BatchImportEvaluatedAnnotationsRequest, opts ...grpc.CallOption) (*BatchImportEvaluatedAnnotationsResponse, error) + // Gets a ModelEvaluation. + GetModelEvaluation(ctx context.Context, in *GetModelEvaluationRequest, opts ...grpc.CallOption) (*ModelEvaluation, error) + // Lists ModelEvaluations in a Model. + ListModelEvaluations(ctx context.Context, in *ListModelEvaluationsRequest, opts ...grpc.CallOption) (*ListModelEvaluationsResponse, error) + // Gets a ModelEvaluationSlice. + GetModelEvaluationSlice(ctx context.Context, in *GetModelEvaluationSliceRequest, opts ...grpc.CallOption) (*ModelEvaluationSlice, error) + // Lists ModelEvaluationSlices in a ModelEvaluation. + ListModelEvaluationSlices(ctx context.Context, in *ListModelEvaluationSlicesRequest, opts ...grpc.CallOption) (*ListModelEvaluationSlicesResponse, error) +} + +type modelServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewModelServiceClient(cc grpc.ClientConnInterface) ModelServiceClient { + return &modelServiceClient{cc} +} + +func (c *modelServiceClient) UploadModel(ctx context.Context, in *UploadModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UploadModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) { + out := new(Model) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) { + out := new(ListModelsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ListModelVersions(ctx context.Context, in *ListModelVersionsRequest, opts ...grpc.CallOption) (*ListModelVersionsResponse, error) { + out := new(ListModelVersionsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelVersions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) UpdateModel(ctx context.Context, in *UpdateModelRequest, opts ...grpc.CallOption) (*Model, error) { + out := new(Model) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) UpdateExplanationDataset(ctx context.Context, in *UpdateExplanationDatasetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateExplanationDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) DeleteModelVersion(ctx context.Context, in *DeleteModelVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModelVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) MergeVersionAliases(ctx context.Context, in *MergeVersionAliasesRequest, opts ...grpc.CallOption) (*Model, error) { + out := new(Model) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/MergeVersionAliases", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ExportModel(ctx context.Context, in *ExportModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ExportModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) CopyModel(ctx context.Context, in *CopyModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/CopyModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ImportModelEvaluation(ctx context.Context, in *ImportModelEvaluationRequest, opts ...grpc.CallOption) (*ModelEvaluation, error) { + out := new(ModelEvaluation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ImportModelEvaluation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) BatchImportModelEvaluationSlices(ctx context.Context, in *BatchImportModelEvaluationSlicesRequest, opts ...grpc.CallOption) (*BatchImportModelEvaluationSlicesResponse, error) { + out := new(BatchImportModelEvaluationSlicesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportModelEvaluationSlices", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) BatchImportEvaluatedAnnotations(ctx context.Context, in *BatchImportEvaluatedAnnotationsRequest, opts ...grpc.CallOption) (*BatchImportEvaluatedAnnotationsResponse, error) { + out := new(BatchImportEvaluatedAnnotationsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportEvaluatedAnnotations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) GetModelEvaluation(ctx context.Context, in *GetModelEvaluationRequest, opts ...grpc.CallOption) (*ModelEvaluation, error) { + out := new(ModelEvaluation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ListModelEvaluations(ctx context.Context, in *ListModelEvaluationsRequest, opts ...grpc.CallOption) (*ListModelEvaluationsResponse, error) { + out := new(ListModelEvaluationsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) GetModelEvaluationSlice(ctx context.Context, in *GetModelEvaluationSliceRequest, opts ...grpc.CallOption) (*ModelEvaluationSlice, error) { + out := new(ModelEvaluationSlice) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluationSlice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *modelServiceClient) ListModelEvaluationSlices(ctx context.Context, in *ListModelEvaluationSlicesRequest, opts ...grpc.CallOption) (*ListModelEvaluationSlicesResponse, error) { + out := new(ListModelEvaluationSlicesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluationSlices", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ModelServiceServer is the server API for ModelService service. +// All implementations must embed UnimplementedModelServiceServer +// for forward compatibility +type ModelServiceServer interface { + // Uploads a Model artifact into Vertex AI. + UploadModel(context.Context, *UploadModelRequest) (*longrunningpb.Operation, error) + // Gets a Model. + GetModel(context.Context, *GetModelRequest) (*Model, error) + // Lists Models in a Location. + ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error) + // Lists versions of the specified model. + ListModelVersions(context.Context, *ListModelVersionsRequest) (*ListModelVersionsResponse, error) + // Updates a Model. + UpdateModel(context.Context, *UpdateModelRequest) (*Model, error) + // Incrementally update the dataset used for an examples model. + UpdateExplanationDataset(context.Context, *UpdateExplanationDatasetRequest) (*longrunningpb.Operation, error) + // Deletes a Model. + // + // A model cannot be deleted if any + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] resource has a + // [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] based on the + // model in its + // [deployed_models][mockgcp.cloud.aiplatform.v1beta1.Endpoint.deployed_models] + // field. + DeleteModel(context.Context, *DeleteModelRequest) (*longrunningpb.Operation, error) + // Deletes a Model version. + // + // Model version can only be deleted if there are no + // [DeployedModels][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] created + // from it. Deleting the only version in the Model is not allowed. Use + // [DeleteModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.DeleteModel] for + // deleting the Model instead. + DeleteModelVersion(context.Context, *DeleteModelVersionRequest) (*longrunningpb.Operation, error) + // Merges a set of aliases for a Model version. + MergeVersionAliases(context.Context, *MergeVersionAliasesRequest) (*Model, error) + // Exports a trained, exportable Model to a location specified by the + // user. A Model is considered to be exportable if it has at least one + // [supported export + // format][mockgcp.cloud.aiplatform.v1beta1.Model.supported_export_formats]. + ExportModel(context.Context, *ExportModelRequest) (*longrunningpb.Operation, error) + // Copies an already existing Vertex AI Model into the specified Location. + // The source Model must exist in the same Project. + // When copying custom Models, the users themselves are responsible for + // [Model.metadata][mockgcp.cloud.aiplatform.v1beta1.Model.metadata] content to + // be region-agnostic, as well as making sure that any resources (e.g. files) + // it depends on remain accessible. + CopyModel(context.Context, *CopyModelRequest) (*longrunningpb.Operation, error) + // Imports an externally generated ModelEvaluation. + ImportModelEvaluation(context.Context, *ImportModelEvaluationRequest) (*ModelEvaluation, error) + // Imports a list of externally generated ModelEvaluationSlice. + BatchImportModelEvaluationSlices(context.Context, *BatchImportModelEvaluationSlicesRequest) (*BatchImportModelEvaluationSlicesResponse, error) + // Imports a list of externally generated EvaluatedAnnotations. + BatchImportEvaluatedAnnotations(context.Context, *BatchImportEvaluatedAnnotationsRequest) (*BatchImportEvaluatedAnnotationsResponse, error) + // Gets a ModelEvaluation. + GetModelEvaluation(context.Context, *GetModelEvaluationRequest) (*ModelEvaluation, error) + // Lists ModelEvaluations in a Model. + ListModelEvaluations(context.Context, *ListModelEvaluationsRequest) (*ListModelEvaluationsResponse, error) + // Gets a ModelEvaluationSlice. + GetModelEvaluationSlice(context.Context, *GetModelEvaluationSliceRequest) (*ModelEvaluationSlice, error) + // Lists ModelEvaluationSlices in a ModelEvaluation. + ListModelEvaluationSlices(context.Context, *ListModelEvaluationSlicesRequest) (*ListModelEvaluationSlicesResponse, error) + mustEmbedUnimplementedModelServiceServer() +} + +// UnimplementedModelServiceServer must be embedded to have forward compatible implementations. +type UnimplementedModelServiceServer struct { +} + +func (UnimplementedModelServiceServer) UploadModel(context.Context, *UploadModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadModel not implemented") +} +func (UnimplementedModelServiceServer) GetModel(context.Context, *GetModelRequest) (*Model, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModel not implemented") +} +func (UnimplementedModelServiceServer) ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModels not implemented") +} +func (UnimplementedModelServiceServer) ListModelVersions(context.Context, *ListModelVersionsRequest) (*ListModelVersionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModelVersions not implemented") +} +func (UnimplementedModelServiceServer) UpdateModel(context.Context, *UpdateModelRequest) (*Model, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateModel not implemented") +} +func (UnimplementedModelServiceServer) UpdateExplanationDataset(context.Context, *UpdateExplanationDatasetRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExplanationDataset not implemented") +} +func (UnimplementedModelServiceServer) DeleteModel(context.Context, *DeleteModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteModel not implemented") +} +func (UnimplementedModelServiceServer) DeleteModelVersion(context.Context, *DeleteModelVersionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteModelVersion not implemented") +} +func (UnimplementedModelServiceServer) MergeVersionAliases(context.Context, *MergeVersionAliasesRequest) (*Model, error) { + return nil, status.Errorf(codes.Unimplemented, "method MergeVersionAliases not implemented") +} +func (UnimplementedModelServiceServer) ExportModel(context.Context, *ExportModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportModel not implemented") +} +func (UnimplementedModelServiceServer) CopyModel(context.Context, *CopyModelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CopyModel not implemented") +} +func (UnimplementedModelServiceServer) ImportModelEvaluation(context.Context, *ImportModelEvaluationRequest) (*ModelEvaluation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportModelEvaluation not implemented") +} +func (UnimplementedModelServiceServer) BatchImportModelEvaluationSlices(context.Context, *BatchImportModelEvaluationSlicesRequest) (*BatchImportModelEvaluationSlicesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchImportModelEvaluationSlices not implemented") +} +func (UnimplementedModelServiceServer) BatchImportEvaluatedAnnotations(context.Context, *BatchImportEvaluatedAnnotationsRequest) (*BatchImportEvaluatedAnnotationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchImportEvaluatedAnnotations not implemented") +} +func (UnimplementedModelServiceServer) GetModelEvaluation(context.Context, *GetModelEvaluationRequest) (*ModelEvaluation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelEvaluation not implemented") +} +func (UnimplementedModelServiceServer) ListModelEvaluations(context.Context, *ListModelEvaluationsRequest) (*ListModelEvaluationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModelEvaluations not implemented") +} +func (UnimplementedModelServiceServer) GetModelEvaluationSlice(context.Context, *GetModelEvaluationSliceRequest) (*ModelEvaluationSlice, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelEvaluationSlice not implemented") +} +func (UnimplementedModelServiceServer) ListModelEvaluationSlices(context.Context, *ListModelEvaluationSlicesRequest) (*ListModelEvaluationSlicesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModelEvaluationSlices not implemented") +} +func (UnimplementedModelServiceServer) mustEmbedUnimplementedModelServiceServer() {} + +// UnsafeModelServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ModelServiceServer will +// result in compilation errors. +type UnsafeModelServiceServer interface { + mustEmbedUnimplementedModelServiceServer() +} + +func RegisterModelServiceServer(s grpc.ServiceRegistrar, srv ModelServiceServer) { + s.RegisterService(&ModelService_ServiceDesc, srv) +} + +func _ModelService_UploadModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).UploadModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UploadModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).UploadModel(ctx, req.(*UploadModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_GetModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).GetModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).GetModel(ctx, req.(*GetModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ListModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ListModels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ListModels(ctx, req.(*ListModelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ListModelVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelVersionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ListModelVersions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelVersions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ListModelVersions(ctx, req.(*ListModelVersionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_UpdateModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).UpdateModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).UpdateModel(ctx, req.(*UpdateModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_UpdateExplanationDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExplanationDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).UpdateExplanationDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/UpdateExplanationDataset", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).UpdateExplanationDataset(ctx, req.(*UpdateExplanationDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_DeleteModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).DeleteModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).DeleteModel(ctx, req.(*DeleteModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_DeleteModelVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteModelVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).DeleteModelVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/DeleteModelVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).DeleteModelVersion(ctx, req.(*DeleteModelVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_MergeVersionAliases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MergeVersionAliasesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).MergeVersionAliases(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/MergeVersionAliases", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).MergeVersionAliases(ctx, req.(*MergeVersionAliasesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ExportModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ExportModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ExportModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ExportModel(ctx, req.(*ExportModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_CopyModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CopyModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).CopyModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/CopyModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).CopyModel(ctx, req.(*CopyModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ImportModelEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportModelEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ImportModelEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ImportModelEvaluation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ImportModelEvaluation(ctx, req.(*ImportModelEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_BatchImportModelEvaluationSlices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchImportModelEvaluationSlicesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).BatchImportModelEvaluationSlices(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportModelEvaluationSlices", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).BatchImportModelEvaluationSlices(ctx, req.(*BatchImportModelEvaluationSlicesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_BatchImportEvaluatedAnnotations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchImportEvaluatedAnnotationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).BatchImportEvaluatedAnnotations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/BatchImportEvaluatedAnnotations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).BatchImportEvaluatedAnnotations(ctx, req.(*BatchImportEvaluatedAnnotationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_GetModelEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).GetModelEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).GetModelEvaluation(ctx, req.(*GetModelEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ListModelEvaluations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelEvaluationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ListModelEvaluations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ListModelEvaluations(ctx, req.(*ListModelEvaluationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_GetModelEvaluationSlice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelEvaluationSliceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).GetModelEvaluationSlice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/GetModelEvaluationSlice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).GetModelEvaluationSlice(ctx, req.(*GetModelEvaluationSliceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ModelService_ListModelEvaluationSlices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListModelEvaluationSlicesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).ListModelEvaluationSlices(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ModelService/ListModelEvaluationSlices", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).ListModelEvaluationSlices(ctx, req.(*ListModelEvaluationSlicesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ModelService_ServiceDesc is the grpc.ServiceDesc for ModelService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ModelService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.ModelService", + HandlerType: (*ModelServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UploadModel", + Handler: _ModelService_UploadModel_Handler, + }, + { + MethodName: "GetModel", + Handler: _ModelService_GetModel_Handler, + }, + { + MethodName: "ListModels", + Handler: _ModelService_ListModels_Handler, + }, + { + MethodName: "ListModelVersions", + Handler: _ModelService_ListModelVersions_Handler, + }, + { + MethodName: "UpdateModel", + Handler: _ModelService_UpdateModel_Handler, + }, + { + MethodName: "UpdateExplanationDataset", + Handler: _ModelService_UpdateExplanationDataset_Handler, + }, + { + MethodName: "DeleteModel", + Handler: _ModelService_DeleteModel_Handler, + }, + { + MethodName: "DeleteModelVersion", + Handler: _ModelService_DeleteModelVersion_Handler, + }, + { + MethodName: "MergeVersionAliases", + Handler: _ModelService_MergeVersionAliases_Handler, + }, + { + MethodName: "ExportModel", + Handler: _ModelService_ExportModel_Handler, + }, + { + MethodName: "CopyModel", + Handler: _ModelService_CopyModel_Handler, + }, + { + MethodName: "ImportModelEvaluation", + Handler: _ModelService_ImportModelEvaluation_Handler, + }, + { + MethodName: "BatchImportModelEvaluationSlices", + Handler: _ModelService_BatchImportModelEvaluationSlices_Handler, + }, + { + MethodName: "BatchImportEvaluatedAnnotations", + Handler: _ModelService_BatchImportEvaluatedAnnotations_Handler, + }, + { + MethodName: "GetModelEvaluation", + Handler: _ModelService_GetModelEvaluation_Handler, + }, + { + MethodName: "ListModelEvaluations", + Handler: _ModelService_ListModelEvaluations_Handler, + }, + { + MethodName: "GetModelEvaluationSlice", + Handler: _ModelService_GetModelEvaluationSlice_Handler, + }, + { + MethodName: "ListModelEvaluationSlices", + Handler: _ModelService_ListModelEvaluationSlices_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/model_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/nas_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/nas_job.pb.go new file mode 100644 index 0000000000..16d735c1ed --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/nas_job.pb.go @@ -0,0 +1,1582 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/nas_job.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The available types of multi-trial algorithms. +type NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm int32 + +const ( + // Defaults to `REINFORCEMENT_LEARNING`. + NasJobSpec_MultiTrialAlgorithmSpec_MULTI_TRIAL_ALGORITHM_UNSPECIFIED NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm = 0 + // The Reinforcement Learning Algorithm for Multi-trial Neural + // Architecture Search (NAS). + NasJobSpec_MultiTrialAlgorithmSpec_REINFORCEMENT_LEARNING NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm = 1 + // The Grid Search Algorithm for Multi-trial Neural + // Architecture Search (NAS). + NasJobSpec_MultiTrialAlgorithmSpec_GRID_SEARCH NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm = 2 +) + +// Enum value maps for NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm. +var ( + NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm_name = map[int32]string{ + 0: "MULTI_TRIAL_ALGORITHM_UNSPECIFIED", + 1: "REINFORCEMENT_LEARNING", + 2: "GRID_SEARCH", + } + NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm_value = map[string]int32{ + "MULTI_TRIAL_ALGORITHM_UNSPECIFIED": 0, + "REINFORCEMENT_LEARNING": 1, + "GRID_SEARCH": 2, + } +) + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) Enum() *NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm { + p := new(NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) + *p = x + return p +} + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[0].Descriptor() +} + +func (NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[0] +} + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm.Descriptor instead. +func (NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0, 0} +} + +// The available types of optimization goals. +type NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType int32 + +const ( + // Goal Type will default to maximize. + NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GOAL_TYPE_UNSPECIFIED NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType = 0 + // Maximize the goal metric. + NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_MAXIMIZE NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType = 1 + // Minimize the goal metric. + NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_MINIMIZE NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType = 2 +) + +// Enum value maps for NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType. +var ( + NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType_name = map[int32]string{ + 0: "GOAL_TYPE_UNSPECIFIED", + 1: "MAXIMIZE", + 2: "MINIMIZE", + } + NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType_value = map[string]int32{ + "GOAL_TYPE_UNSPECIFIED": 0, + "MAXIMIZE": 1, + "MINIMIZE": 2, + } +) + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) Enum() *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType { + p := new(NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) + *p = x + return p +} + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[1].Descriptor() +} + +func (NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[1] +} + +func (x NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType.Descriptor instead. +func (NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0, 0, 0} +} + +// Describes a NasTrial state. +type NasTrial_State int32 + +const ( + // The NasTrial state is unspecified. + NasTrial_STATE_UNSPECIFIED NasTrial_State = 0 + // Indicates that a specific NasTrial has been requested, but it has not yet + // been suggested by the service. + NasTrial_REQUESTED NasTrial_State = 1 + // Indicates that the NasTrial has been suggested. + NasTrial_ACTIVE NasTrial_State = 2 + // Indicates that the NasTrial should stop according to the service. + NasTrial_STOPPING NasTrial_State = 3 + // Indicates that the NasTrial is completed successfully. + NasTrial_SUCCEEDED NasTrial_State = 4 + // Indicates that the NasTrial should not be attempted again. + // The service will set a NasTrial to INFEASIBLE when it's done but missing + // the final_measurement. + NasTrial_INFEASIBLE NasTrial_State = 5 +) + +// Enum value maps for NasTrial_State. +var ( + NasTrial_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "REQUESTED", + 2: "ACTIVE", + 3: "STOPPING", + 4: "SUCCEEDED", + 5: "INFEASIBLE", + } + NasTrial_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "REQUESTED": 1, + "ACTIVE": 2, + "STOPPING": 3, + "SUCCEEDED": 4, + "INFEASIBLE": 5, + } +) + +func (x NasTrial_State) Enum() *NasTrial_State { + p := new(NasTrial_State) + *p = x + return p +} + +func (x NasTrial_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NasTrial_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[2].Descriptor() +} + +func (NasTrial_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes[2] +} + +func (x NasTrial_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NasTrial_State.Descriptor instead. +func (NasTrial_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{4, 0} +} + +// Represents a Neural Architecture Search (NAS) job. +type NasJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the NasJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the NasJob. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The specification of a NasJob. + NasJobSpec *NasJobSpec `protobuf:"bytes,4,opt,name=nas_job_spec,json=nasJobSpec,proto3" json:"nas_job_spec,omitempty"` + // Output only. Output of the NasJob. + NasJobOutput *NasJobOutput `protobuf:"bytes,5,opt,name=nas_job_output,json=nasJobOutput,proto3" json:"nas_job_output,omitempty"` + // Output only. The detailed state of the job. + State JobState `protobuf:"varint,6,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.JobState" json:"state,omitempty"` + // Output only. Time when the NasJob was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the NasJob for the first time entered the + // `JOB_STATE_RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the NasJob entered any of the following states: + // `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`. + EndTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Time when the NasJob was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Only populated when job's state is JOB_STATE_FAILED or + // JOB_STATE_CANCELLED. + Error *status.Status `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"` + // The labels with user-defined metadata to organize NasJobs. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,12,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key options for a NasJob. + // If this is set, then all resources created by the NasJob + // will be encrypted with the provided encryption key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,13,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Optional. Enable a separation of Custom model training + // and restricted image training for tenant project. + // + // Deprecated: Do not use. + EnableRestrictedImageTraining bool `protobuf:"varint,14,opt,name=enable_restricted_image_training,json=enableRestrictedImageTraining,proto3" json:"enable_restricted_image_training,omitempty"` +} + +func (x *NasJob) Reset() { + *x = NasJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJob) ProtoMessage() {} + +func (x *NasJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[0] + 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 NasJob.ProtoReflect.Descriptor instead. +func (*NasJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{0} +} + +func (x *NasJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NasJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NasJob) GetNasJobSpec() *NasJobSpec { + if x != nil { + return x.NasJobSpec + } + return nil +} + +func (x *NasJob) GetNasJobOutput() *NasJobOutput { + if x != nil { + return x.NasJobOutput + } + return nil +} + +func (x *NasJob) GetState() JobState { + if x != nil { + return x.State + } + return JobState_JOB_STATE_UNSPECIFIED +} + +func (x *NasJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *NasJob) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *NasJob) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *NasJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *NasJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *NasJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *NasJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +// Deprecated: Do not use. +func (x *NasJob) GetEnableRestrictedImageTraining() bool { + if x != nil { + return x.EnableRestrictedImageTraining + } + return false +} + +// Represents a NasTrial details along with its parameters. If there is a +// corresponding train NasTrial, the train NasTrial is also returned. +type NasTrialDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the NasTrialDetail. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The parameters for the NasJob NasTrial. + Parameters string `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` + // The requested search NasTrial. + SearchTrial *NasTrial `protobuf:"bytes,3,opt,name=search_trial,json=searchTrial,proto3" json:"search_trial,omitempty"` + // The train NasTrial corresponding to + // [search_trial][mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail.search_trial]. + // Only populated if + // [search_trial][mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail.search_trial] + // is used for training. + TrainTrial *NasTrial `protobuf:"bytes,4,opt,name=train_trial,json=trainTrial,proto3" json:"train_trial,omitempty"` +} + +func (x *NasTrialDetail) Reset() { + *x = NasTrialDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasTrialDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasTrialDetail) ProtoMessage() {} + +func (x *NasTrialDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[1] + 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 NasTrialDetail.ProtoReflect.Descriptor instead. +func (*NasTrialDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{1} +} + +func (x *NasTrialDetail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NasTrialDetail) GetParameters() string { + if x != nil { + return x.Parameters + } + return "" +} + +func (x *NasTrialDetail) GetSearchTrial() *NasTrial { + if x != nil { + return x.SearchTrial + } + return nil +} + +func (x *NasTrialDetail) GetTrainTrial() *NasTrial { + if x != nil { + return x.TrainTrial + } + return nil +} + +// Represents the spec of a NasJob. +type NasJobSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Neural Architecture Search (NAS) algorithm specification. + // + // Types that are assignable to NasAlgorithmSpec: + // + // *NasJobSpec_MultiTrialAlgorithmSpec_ + NasAlgorithmSpec isNasJobSpec_NasAlgorithmSpec `protobuf_oneof:"nas_algorithm_spec"` + // The ID of the existing NasJob in the same Project and Location + // which will be used to resume search. search_space_spec and + // nas_algorithm_spec are obtained from previous NasJob hence should not + // provide them again for this NasJob. + ResumeNasJobId string `protobuf:"bytes,3,opt,name=resume_nas_job_id,json=resumeNasJobId,proto3" json:"resume_nas_job_id,omitempty"` + // It defines the search space for Neural Architecture Search (NAS). + SearchSpaceSpec string `protobuf:"bytes,1,opt,name=search_space_spec,json=searchSpaceSpec,proto3" json:"search_space_spec,omitempty"` +} + +func (x *NasJobSpec) Reset() { + *x = NasJobSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobSpec) ProtoMessage() {} + +func (x *NasJobSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_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 NasJobSpec.ProtoReflect.Descriptor instead. +func (*NasJobSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2} +} + +func (m *NasJobSpec) GetNasAlgorithmSpec() isNasJobSpec_NasAlgorithmSpec { + if m != nil { + return m.NasAlgorithmSpec + } + return nil +} + +func (x *NasJobSpec) GetMultiTrialAlgorithmSpec() *NasJobSpec_MultiTrialAlgorithmSpec { + if x, ok := x.GetNasAlgorithmSpec().(*NasJobSpec_MultiTrialAlgorithmSpec_); ok { + return x.MultiTrialAlgorithmSpec + } + return nil +} + +func (x *NasJobSpec) GetResumeNasJobId() string { + if x != nil { + return x.ResumeNasJobId + } + return "" +} + +func (x *NasJobSpec) GetSearchSpaceSpec() string { + if x != nil { + return x.SearchSpaceSpec + } + return "" +} + +type isNasJobSpec_NasAlgorithmSpec interface { + isNasJobSpec_NasAlgorithmSpec() +} + +type NasJobSpec_MultiTrialAlgorithmSpec_ struct { + // The spec of multi-trial algorithms. + MultiTrialAlgorithmSpec *NasJobSpec_MultiTrialAlgorithmSpec `protobuf:"bytes,2,opt,name=multi_trial_algorithm_spec,json=multiTrialAlgorithmSpec,proto3,oneof"` +} + +func (*NasJobSpec_MultiTrialAlgorithmSpec_) isNasJobSpec_NasAlgorithmSpec() {} + +// Represents a uCAIP NasJob output. +type NasJobOutput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The output of this Neural Architecture Search (NAS) job. + // + // Types that are assignable to Output: + // + // *NasJobOutput_MultiTrialJobOutput_ + Output isNasJobOutput_Output `protobuf_oneof:"output"` +} + +func (x *NasJobOutput) Reset() { + *x = NasJobOutput{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobOutput) ProtoMessage() {} + +func (x *NasJobOutput) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[3] + 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 NasJobOutput.ProtoReflect.Descriptor instead. +func (*NasJobOutput) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{3} +} + +func (m *NasJobOutput) GetOutput() isNasJobOutput_Output { + if m != nil { + return m.Output + } + return nil +} + +func (x *NasJobOutput) GetMultiTrialJobOutput() *NasJobOutput_MultiTrialJobOutput { + if x, ok := x.GetOutput().(*NasJobOutput_MultiTrialJobOutput_); ok { + return x.MultiTrialJobOutput + } + return nil +} + +type isNasJobOutput_Output interface { + isNasJobOutput_Output() +} + +type NasJobOutput_MultiTrialJobOutput_ struct { + // Output only. The output of this multi-trial Neural Architecture Search + // (NAS) job. + MultiTrialJobOutput *NasJobOutput_MultiTrialJobOutput `protobuf:"bytes,1,opt,name=multi_trial_job_output,json=multiTrialJobOutput,proto3,oneof"` +} + +func (*NasJobOutput_MultiTrialJobOutput_) isNasJobOutput_Output() {} + +// Represents a uCAIP NasJob trial. +type NasTrial struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The identifier of the NasTrial assigned by the service. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Output only. The detailed state of the NasTrial. + State NasTrial_State `protobuf:"varint,2,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.NasTrial_State" json:"state,omitempty"` + // Output only. The final measurement containing the objective value. + FinalMeasurement *Measurement `protobuf:"bytes,3,opt,name=final_measurement,json=finalMeasurement,proto3" json:"final_measurement,omitempty"` + // Output only. Time when the NasTrial was started. + StartTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the NasTrial's status changed to `SUCCEEDED` or + // `INFEASIBLE`. + EndTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *NasTrial) Reset() { + *x = NasTrial{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasTrial) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasTrial) ProtoMessage() {} + +func (x *NasTrial) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[4] + 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 NasTrial.ProtoReflect.Descriptor instead. +func (*NasTrial) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{4} +} + +func (x *NasTrial) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *NasTrial) GetState() NasTrial_State { + if x != nil { + return x.State + } + return NasTrial_STATE_UNSPECIFIED +} + +func (x *NasTrial) GetFinalMeasurement() *Measurement { + if x != nil { + return x.FinalMeasurement + } + return nil +} + +func (x *NasTrial) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *NasTrial) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +// The spec of multi-trial Neural Architecture Search (NAS). +type NasJobSpec_MultiTrialAlgorithmSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The multi-trial Neural Architecture Search (NAS) algorithm + // type. Defaults to `REINFORCEMENT_LEARNING`. + MultiTrialAlgorithm NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm `protobuf:"varint,1,opt,name=multi_trial_algorithm,json=multiTrialAlgorithm,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm" json:"multi_trial_algorithm,omitempty"` + // Metric specs for the NAS job. + // Validation for this field is done at `multi_trial_algorithm_spec` field. + Metric *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec `protobuf:"bytes,2,opt,name=metric,proto3" json:"metric,omitempty"` + // Required. Spec for search trials. + SearchTrialSpec *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec `protobuf:"bytes,3,opt,name=search_trial_spec,json=searchTrialSpec,proto3" json:"search_trial_spec,omitempty"` + // Spec for train trials. Top N [TrainTrialSpec.max_parallel_trial_count] + // search trials will be trained for every M + // [TrainTrialSpec.frequency] trials searched. + TrainTrialSpec *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec `protobuf:"bytes,4,opt,name=train_trial_spec,json=trainTrialSpec,proto3" json:"train_trial_spec,omitempty"` +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) Reset() { + *x = NasJobSpec_MultiTrialAlgorithmSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobSpec_MultiTrialAlgorithmSpec) ProtoMessage() {} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_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 NasJobSpec_MultiTrialAlgorithmSpec.ProtoReflect.Descriptor instead. +func (*NasJobSpec_MultiTrialAlgorithmSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) GetMultiTrialAlgorithm() NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm { + if x != nil { + return x.MultiTrialAlgorithm + } + return NasJobSpec_MultiTrialAlgorithmSpec_MULTI_TRIAL_ALGORITHM_UNSPECIFIED +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) GetMetric() *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec { + if x != nil { + return x.Metric + } + return nil +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) GetSearchTrialSpec() *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec { + if x != nil { + return x.SearchTrialSpec + } + return nil +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec) GetTrainTrialSpec() *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec { + if x != nil { + return x.TrainTrialSpec + } + return nil +} + +// Represents a metric to optimize. +type NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of the metric. Must not contain whitespaces. + MetricId string `protobuf:"bytes,1,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"` + // Required. The optimization goal of the metric. + Goal NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType `protobuf:"varint,2,opt,name=goal,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType" json:"goal,omitempty"` +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) Reset() { + *x = NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) ProtoMessage() {} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[7] + 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 NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec.ProtoReflect.Descriptor instead. +func (*NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0, 0} +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) GetMetricId() string { + if x != nil { + return x.MetricId + } + return "" +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec) GetGoal() NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType { + if x != nil { + return x.Goal + } + return NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GOAL_TYPE_UNSPECIFIED +} + +// Represent spec for search trials. +type NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The spec of a search trial job. The same spec applies to + // all search trials. + SearchTrialJobSpec *CustomJobSpec `protobuf:"bytes,1,opt,name=search_trial_job_spec,json=searchTrialJobSpec,proto3" json:"search_trial_job_spec,omitempty"` + // Required. The maximum number of Neural Architecture Search (NAS) trials + // to run. + MaxTrialCount int32 `protobuf:"varint,2,opt,name=max_trial_count,json=maxTrialCount,proto3" json:"max_trial_count,omitempty"` + // Required. The maximum number of trials to run in parallel. + MaxParallelTrialCount int32 `protobuf:"varint,3,opt,name=max_parallel_trial_count,json=maxParallelTrialCount,proto3" json:"max_parallel_trial_count,omitempty"` + // The number of failed trials that need to be seen before failing + // the NasJob. + // + // If set to 0, Vertex AI decides how many trials must fail + // before the whole job fails. + MaxFailedTrialCount int32 `protobuf:"varint,4,opt,name=max_failed_trial_count,json=maxFailedTrialCount,proto3" json:"max_failed_trial_count,omitempty"` +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) Reset() { + *x = NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) ProtoMessage() {} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_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 NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec.ProtoReflect.Descriptor instead. +func (*NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0, 1} +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) GetSearchTrialJobSpec() *CustomJobSpec { + if x != nil { + return x.SearchTrialJobSpec + } + return nil +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) GetMaxTrialCount() int32 { + if x != nil { + return x.MaxTrialCount + } + return 0 +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) GetMaxParallelTrialCount() int32 { + if x != nil { + return x.MaxParallelTrialCount + } + return 0 +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec) GetMaxFailedTrialCount() int32 { + if x != nil { + return x.MaxFailedTrialCount + } + return 0 +} + +// Represent spec for train trials. +type NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The spec of a train trial job. The same spec applies to + // all train trials. + TrainTrialJobSpec *CustomJobSpec `protobuf:"bytes,1,opt,name=train_trial_job_spec,json=trainTrialJobSpec,proto3" json:"train_trial_job_spec,omitempty"` + // Required. The maximum number of trials to run in parallel. + MaxParallelTrialCount int32 `protobuf:"varint,2,opt,name=max_parallel_trial_count,json=maxParallelTrialCount,proto3" json:"max_parallel_trial_count,omitempty"` + // Required. Frequency of search trials to start train stage. Top N + // [TrainTrialSpec.max_parallel_trial_count] + // search trials will be trained for every M + // [TrainTrialSpec.frequency] trials searched. + Frequency int32 `protobuf:"varint,3,opt,name=frequency,proto3" json:"frequency,omitempty"` +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) Reset() { + *x = NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) ProtoMessage() {} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[9] + 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 NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec.ProtoReflect.Descriptor instead. +func (*NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{2, 0, 2} +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) GetTrainTrialJobSpec() *CustomJobSpec { + if x != nil { + return x.TrainTrialJobSpec + } + return nil +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) GetMaxParallelTrialCount() int32 { + if x != nil { + return x.MaxParallelTrialCount + } + return 0 +} + +func (x *NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec) GetFrequency() int32 { + if x != nil { + return x.Frequency + } + return 0 +} + +// The output of a multi-trial Neural Architecture Search (NAS) jobs. +type NasJobOutput_MultiTrialJobOutput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. List of NasTrials that were started as part of search stage. + SearchTrials []*NasTrial `protobuf:"bytes,1,rep,name=search_trials,json=searchTrials,proto3" json:"search_trials,omitempty"` + // Output only. List of NasTrials that were started as part of train stage. + TrainTrials []*NasTrial `protobuf:"bytes,2,rep,name=train_trials,json=trainTrials,proto3" json:"train_trials,omitempty"` +} + +func (x *NasJobOutput_MultiTrialJobOutput) Reset() { + *x = NasJobOutput_MultiTrialJobOutput{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NasJobOutput_MultiTrialJobOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NasJobOutput_MultiTrialJobOutput) ProtoMessage() {} + +func (x *NasJobOutput_MultiTrialJobOutput) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[10] + 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 NasJobOutput_MultiTrialJobOutput.ProtoReflect.Descriptor instead. +func (*NasJobOutput_MultiTrialJobOutput) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *NasJobOutput_MultiTrialJobOutput) GetSearchTrials() []*NasTrial { + if x != nil { + return x.SearchTrials + } + return nil +} + +func (x *NasJobOutput_MultiTrialJobOutput) GetTrainTrials() []*NasTrial { + if x != nil { + return x.TrainTrials + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, + 0x75, 0x64, 0x79, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x08, 0x0a, 0x06, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x53, 0x0a, 0x0c, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x53, + 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x59, 0x0a, 0x0e, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0c, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, + 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 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, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, + 0x74, 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, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0a, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4e, + 0x0a, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, + 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, + 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x60, 0xea, 0x41, 0x5d, 0x0a, 0x20, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x12, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0xf4, 0x02, 0x0a, 0x0e, + 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x12, 0x5c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x61, + 0x73, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x2f, + 0x6e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, + 0x7b, 0x6e, 0x61, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x7d, 0x22, 0xe4, 0x0c, 0x0a, 0x0a, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x83, 0x01, 0x0a, 0x1a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x17, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x5f, 0x6e, 0x61, 0x73, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, + 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xe2, + 0x0a, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, + 0x73, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x67, 0x0a, 0x06, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, + 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, + 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x85, 0x01, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x72, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x7d, 0x0a, 0x10, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xe4, 0x01, 0x0a, 0x0a, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x71, 0x0a, 0x04, 0x67, 0x6f, + 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x4a, + 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x47, 0x6f, 0x61, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x22, 0x41, 0x0a, + 0x08, 0x47, 0x6f, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x4f, 0x41, + 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x49, 0x5a, 0x45, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x02, + 0x1a, 0x9a, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x67, 0x0a, 0x15, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, + 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, + 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2b, 0x0a, + 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xd8, 0x01, + 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x65, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, + 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, + 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x54, 0x72, 0x69, 0x61, 0x6c, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x69, 0x0a, 0x13, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, + 0x25, 0x0a, 0x21, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x41, + 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, + 0x52, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x52, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, + 0x48, 0x10, 0x02, 0x42, 0x14, 0x0a, 0x12, 0x6e, 0x61, 0x73, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0xda, 0x02, 0x0a, 0x0c, 0x4e, 0x61, + 0x73, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x7e, 0x0a, 0x16, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, + 0x73, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0xbf, 0x01, 0x0a, 0x13, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4a, 0x6f, 0x62, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x72, 0x69, + 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, + 0x54, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x08, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0xb1, 0x03, 0x0a, 0x08, 0x4e, 0x61, 0x73, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x73, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, + 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, + 0x46, 0x45, 0x41, 0x53, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x42, 0xe3, 0x01, 0x0a, 0x24, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x42, 0x0b, 0x4e, 0x61, 0x73, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_goTypes = []interface{}{ + (NasJobSpec_MultiTrialAlgorithmSpec_MultiTrialAlgorithm)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MultiTrialAlgorithm + (NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec_GoalType)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MetricSpec.GoalType + (NasTrial_State)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.NasTrial.State + (*NasJob)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.NasJob + (*NasTrialDetail)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail + (*NasJobSpec)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec + (*NasJobOutput)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.NasJobOutput + (*NasTrial)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.NasTrial + nil, // 8: mockgcp.cloud.aiplatform.v1beta1.NasJob.LabelsEntry + (*NasJobSpec_MultiTrialAlgorithmSpec)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec + (*NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MetricSpec + (*NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.SearchTrialSpec + (*NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.TrainTrialSpec + (*NasJobOutput_MultiTrialJobOutput)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.NasJobOutput.MultiTrialJobOutput + (JobState)(0), // 14: mockgcp.cloud.aiplatform.v1beta1.JobState + (*timestamp.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*status.Status)(nil), // 16: google.rpc.Status + (*EncryptionSpec)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*Measurement)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.Measurement + (*CustomJobSpec)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_depIdxs = []int32{ + 5, // 0: mockgcp.cloud.aiplatform.v1beta1.NasJob.nas_job_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec + 6, // 1: mockgcp.cloud.aiplatform.v1beta1.NasJob.nas_job_output:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobOutput + 14, // 2: mockgcp.cloud.aiplatform.v1beta1.NasJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.JobState + 15, // 3: mockgcp.cloud.aiplatform.v1beta1.NasJob.create_time:type_name -> google.protobuf.Timestamp + 15, // 4: mockgcp.cloud.aiplatform.v1beta1.NasJob.start_time:type_name -> google.protobuf.Timestamp + 15, // 5: mockgcp.cloud.aiplatform.v1beta1.NasJob.end_time:type_name -> google.protobuf.Timestamp + 15, // 6: mockgcp.cloud.aiplatform.v1beta1.NasJob.update_time:type_name -> google.protobuf.Timestamp + 16, // 7: mockgcp.cloud.aiplatform.v1beta1.NasJob.error:type_name -> google.rpc.Status + 8, // 8: mockgcp.cloud.aiplatform.v1beta1.NasJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJob.LabelsEntry + 17, // 9: mockgcp.cloud.aiplatform.v1beta1.NasJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 7, // 10: mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail.search_trial:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrial + 7, // 11: mockgcp.cloud.aiplatform.v1beta1.NasTrialDetail.train_trial:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrial + 9, // 12: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.multi_trial_algorithm_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec + 13, // 13: mockgcp.cloud.aiplatform.v1beta1.NasJobOutput.multi_trial_job_output:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobOutput.MultiTrialJobOutput + 2, // 14: mockgcp.cloud.aiplatform.v1beta1.NasTrial.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrial.State + 18, // 15: mockgcp.cloud.aiplatform.v1beta1.NasTrial.final_measurement:type_name -> mockgcp.cloud.aiplatform.v1beta1.Measurement + 15, // 16: mockgcp.cloud.aiplatform.v1beta1.NasTrial.start_time:type_name -> google.protobuf.Timestamp + 15, // 17: mockgcp.cloud.aiplatform.v1beta1.NasTrial.end_time:type_name -> google.protobuf.Timestamp + 0, // 18: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.multi_trial_algorithm:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MultiTrialAlgorithm + 10, // 19: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.metric:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MetricSpec + 11, // 20: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.search_trial_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.SearchTrialSpec + 12, // 21: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.train_trial_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.TrainTrialSpec + 1, // 22: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MetricSpec.goal:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.MetricSpec.GoalType + 19, // 23: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.SearchTrialSpec.search_trial_job_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + 19, // 24: mockgcp.cloud.aiplatform.v1beta1.NasJobSpec.MultiTrialAlgorithmSpec.TrainTrialSpec.train_trial_job_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec + 7, // 25: mockgcp.cloud.aiplatform.v1beta1.NasJobOutput.MultiTrialJobOutput.search_trials:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrial + 7, // 26: mockgcp.cloud.aiplatform.v1beta1.NasJobOutput.MultiTrialJobOutput.train_trials:type_name -> mockgcp.cloud.aiplatform.v1beta1.NasTrial + 27, // [27:27] is the sub-list for method output_type + 27, // [27:27] is the sub-list for method input_type + 27, // [27:27] is the sub-list for extension type_name + 27, // [27:27] is the sub-list for extension extendee + 0, // [0:27] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_custom_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_job_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasTrialDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasTrial); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobSpec_MultiTrialAlgorithmSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobSpec_MultiTrialAlgorithmSpec_MetricSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobSpec_MultiTrialAlgorithmSpec_SearchTrialSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobSpec_MultiTrialAlgorithmSpec_TrainTrialSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NasJobOutput_MultiTrialJobOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*NasJobSpec_MultiTrialAlgorithmSpec_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*NasJobOutput_MultiTrialJobOutput_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDesc, + NumEnums: 3, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_nas_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/openapi.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/openapi.pb.go new file mode 100644 index 0000000000..485f9fbbd0 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/openapi.pb.go @@ -0,0 +1,382 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/openapi.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Type contains the list of OpenAPI data types as defined by +// https://swagger.io/docs/specification/data-models/data-types/ +type Type int32 + +const ( + // Not specified, should not be used. + Type_TYPE_UNSPECIFIED Type = 0 + // OpenAPI string type + Type_STRING Type = 1 + // OpenAPI number type + Type_NUMBER Type = 2 + // OpenAPI integer type + Type_INTEGER Type = 3 + // OpenAPI boolean type + Type_BOOLEAN Type = 4 + // OpenAPI array type + Type_ARRAY Type = 5 + // OpenAPI object type + Type_OBJECT Type = 6 +) + +// Enum value maps for Type. +var ( + Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "STRING", + 2: "NUMBER", + 3: "INTEGER", + 4: "BOOLEAN", + 5: "ARRAY", + 6: "OBJECT", + } + Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "STRING": 1, + "NUMBER": 2, + "INTEGER": 3, + "BOOLEAN": 4, + "ARRAY": 5, + "OBJECT": 6, + } +) + +func (x Type) Enum() *Type { + p := new(Type) + *p = x + return p +} + +func (x Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Type) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_enumTypes[0].Descriptor() +} + +func (Type) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_enumTypes[0] +} + +func (x Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Type.Descriptor instead. +func (Type) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescGZIP(), []int{0} +} + +// Schema is used to define the format of input/output data. Represents a select +// subset of an [OpenAPI 3.0 schema +// object](https://spec.openapis.org/oas/v3.0.3#schema). More fields may be +// added in the future as needed. +type Schema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The type of the data. + Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Type" json:"type,omitempty"` + // Optional. The format of the data. + // Supported formats: + // + // for NUMBER type: float, double + // for INTEGER type: int32, int64 + Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"` + // Optional. The description of the data. + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Indicates if the value may be null. + Nullable bool `protobuf:"varint,6,opt,name=nullable,proto3" json:"nullable,omitempty"` + // Optional. Schema of the elements of Type.ARRAY. + Items *Schema `protobuf:"bytes,2,opt,name=items,proto3" json:"items,omitempty"` + // Optional. Possible values of the element of Type.STRING with enum format. + // For example we can define an Enum Direction as : + // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + Enum []string `protobuf:"bytes,9,rep,name=enum,proto3" json:"enum,omitempty"` + // Optional. Properties of Type.OBJECT. + Properties map[string]*Schema `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Required properties of Type.OBJECT. + Required []string `protobuf:"bytes,5,rep,name=required,proto3" json:"required,omitempty"` + // Optional. Example of the object. Will only populated when the object is the + // root. + Example *_struct.Value `protobuf:"bytes,4,opt,name=example,proto3" json:"example,omitempty"` +} + +func (x *Schema) Reset() { + *x = Schema{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Schema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schema) ProtoMessage() {} + +func (x *Schema) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_msgTypes[0] + 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 Schema.ProtoReflect.Descriptor instead. +func (*Schema) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescGZIP(), []int{0} +} + +func (x *Schema) GetType() Type { + if x != nil { + return x.Type + } + return Type_TYPE_UNSPECIFIED +} + +func (x *Schema) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *Schema) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Schema) GetNullable() bool { + if x != nil { + return x.Nullable + } + return false +} + +func (x *Schema) GetItems() *Schema { + if x != nil { + return x.Items + } + return nil +} + +func (x *Schema) GetEnum() []string { + if x != nil { + return x.Enum + } + return nil +} + +func (x *Schema) GetProperties() map[string]*Schema { + if x != nil { + return x.Properties + } + return nil +} + +func (x *Schema) GetRequired() []string { + if x != nil { + return x.Required + } + return nil +} + +func (x *Schema) GetExample() *_struct.Value { + if x != nil { + return x.Example + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_openapi_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xac, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, + 0x12, 0x5d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x67, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x2a, 0x65, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, + 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, + 0x52, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, + 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x06, 0x42, 0xe4, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_goTypes = []interface{}{ + (Type)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Type + (*Schema)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Schema + nil, // 2: mockgcp.cloud.aiplatform.v1beta1.Schema.PropertiesEntry + (*_struct.Value)(nil), // 3: google.protobuf.Value +} +var file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.Schema.type:type_name -> mockgcp.cloud.aiplatform.v1beta1.Type + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.Schema.items:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schema + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.Schema.properties:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schema.PropertiesEntry + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.Schema.example:type_name -> google.protobuf.Value + 1, // 4: mockgcp.cloud.aiplatform.v1beta1.Schema.PropertiesEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schema + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_openapi_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Schema); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_openapi_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/operation.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/operation.pb.go new file mode 100644 index 0000000000..0228f736ce --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/operation.pb.go @@ -0,0 +1,295 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/operation.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Generic Metadata shared by all operations. +type GenericOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Partial failures encountered. + // E.g. single files that couldn't be read. + // This field should never exceed 20 entries. + // Status details field will contain standard Google Cloud error details. + PartialFailures []*status.Status `protobuf:"bytes,1,rep,name=partial_failures,json=partialFailures,proto3" json:"partial_failures,omitempty"` + // Output only. Time when the operation was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the operation was updated for the last time. + // If the operation has finished (successfully or not), this is the finish + // time. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *GenericOperationMetadata) Reset() { + *x = GenericOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenericOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenericOperationMetadata) ProtoMessage() {} + +func (x *GenericOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[0] + 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 GenericOperationMetadata.ProtoReflect.Descriptor instead. +func (*GenericOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescGZIP(), []int{0} +} + +func (x *GenericOperationMetadata) GetPartialFailures() []*status.Status { + if x != nil { + return x.PartialFailures + } + return nil +} + +func (x *GenericOperationMetadata) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *GenericOperationMetadata) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Details of operations that perform deletes of any entities. +type DeleteOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *DeleteOperationMetadata) Reset() { + *x = DeleteOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOperationMetadata) ProtoMessage() {} + +func (x *DeleteOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[1] + 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 DeleteOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeleteOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescGZIP(), []int{1} +} + +func (x *DeleteOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_operation_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 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, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xe2, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x10, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xe6, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_goTypes = []interface{}{ + (*GenericOperationMetadata)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*DeleteOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.DeleteOperationMetadata + (*status.Status)(nil), // 2: google.rpc.Status + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata.partial_failures:type_name -> google.rpc.Status + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata.update_time:type_name -> google.protobuf.Timestamp + 0, // 3: mockgcp.cloud.aiplatform.v1beta1.DeleteOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_operation_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenericOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOperationMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_operation_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource.pb.go new file mode 100644 index 0000000000..27871ec3c1 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource.pb.go @@ -0,0 +1,1128 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/persistent_resource.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the PersistentResource state. +type PersistentResource_State int32 + +const ( + // Not set. + PersistentResource_STATE_UNSPECIFIED PersistentResource_State = 0 + // The PROVISIONING state indicates the persistent resources is being + // created. + PersistentResource_PROVISIONING PersistentResource_State = 1 + // The RUNNING state indicates the persistent resource is healthy and fully + // usable. + PersistentResource_RUNNING PersistentResource_State = 3 + // The STOPPING state indicates the persistent resource is being deleted. + PersistentResource_STOPPING PersistentResource_State = 4 + // The ERROR state indicates the persistent resource may be unusable. + // Details can be found in the `error` field. + PersistentResource_ERROR PersistentResource_State = 5 +) + +// Enum value maps for PersistentResource_State. +var ( + PersistentResource_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "PROVISIONING", + 3: "RUNNING", + 4: "STOPPING", + 5: "ERROR", + } + PersistentResource_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "PROVISIONING": 1, + "RUNNING": 3, + "STOPPING": 4, + "ERROR": 5, + } +) + +func (x PersistentResource_State) Enum() *PersistentResource_State { + p := new(PersistentResource_State) + *p = x + return p +} + +func (x PersistentResource_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PersistentResource_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes[0].Descriptor() +} + +func (PersistentResource_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes[0] +} + +func (x PersistentResource_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PersistentResource_State.Descriptor instead. +func (PersistentResource_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{0, 0} +} + +// Represents long-lasting resources that are dedicated to users to runs custom +// workloads. +// A PersistentResource can have multiple node pools and each node +// pool can have its own machine spec. +type PersistentResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Resource name of a PersistentResource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The display name of the PersistentResource. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The spec of the pools of different resources. + ResourcePools []*ResourcePool `protobuf:"bytes,4,rep,name=resource_pools,json=resourcePools,proto3" json:"resource_pools,omitempty"` + // Output only. The detailed state of a Study. + State PersistentResource_State `protobuf:"varint,5,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PersistentResource_State" json:"state,omitempty"` + // Output only. Only populated when persistent resource's state is `STOPPING` + // or `ERROR`. + Error *status.Status `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` + // Output only. Time when the PersistentResource was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the PersistentResource for the first time entered + // the `RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the PersistentResource was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The labels with user-defined metadata to organize + // PersistentResource. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to peered with + // Vertex AI to host the persistent resources. + // For example, `projects/12345/global/networks/myVPC`. + // [Format](/compute/docs/reference/rest/v1/networks/insert) + // is of the form `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in `12345`, and {network} is a + // network name. + // + // To specify this field, you must have already [configured VPC Network + // Peering for Vertex + // AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). + // + // If this field is left unspecified, the resources aren't peered with any + // network. + Network string `protobuf:"bytes,11,opt,name=network,proto3" json:"network,omitempty"` + // Optional. Customer-managed encryption key spec for a PersistentResource. + // If set, this PersistentResource and all sub-resources of this + // PersistentResource will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,12,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Optional. Persistent Resource runtime spec. + // For example, used for Ray cluster configuration. + ResourceRuntimeSpec *ResourceRuntimeSpec `protobuf:"bytes,13,opt,name=resource_runtime_spec,json=resourceRuntimeSpec,proto3" json:"resource_runtime_spec,omitempty"` + // Output only. Runtime information of the Persistent Resource. + ResourceRuntime *ResourceRuntime `protobuf:"bytes,14,opt,name=resource_runtime,json=resourceRuntime,proto3" json:"resource_runtime,omitempty"` + // Optional. A list of names for the reserved IP ranges under the VPC network + // that can be used for this persistent resource. + // + // If set, we will deploy the persistent resource within the provided IP + // ranges. Otherwise, the persistent resource is deployed to any IP + // ranges under the provided VPC network. + // + // Example: ['vertex-ai-ip-range']. + ReservedIpRanges []string `protobuf:"bytes,15,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` +} + +func (x *PersistentResource) Reset() { + *x = PersistentResource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersistentResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersistentResource) ProtoMessage() {} + +func (x *PersistentResource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[0] + 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 PersistentResource.ProtoReflect.Descriptor instead. +func (*PersistentResource) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{0} +} + +func (x *PersistentResource) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PersistentResource) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PersistentResource) GetResourcePools() []*ResourcePool { + if x != nil { + return x.ResourcePools + } + return nil +} + +func (x *PersistentResource) GetState() PersistentResource_State { + if x != nil { + return x.State + } + return PersistentResource_STATE_UNSPECIFIED +} + +func (x *PersistentResource) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *PersistentResource) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PersistentResource) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *PersistentResource) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PersistentResource) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *PersistentResource) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *PersistentResource) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *PersistentResource) GetResourceRuntimeSpec() *ResourceRuntimeSpec { + if x != nil { + return x.ResourceRuntimeSpec + } + return nil +} + +func (x *PersistentResource) GetResourceRuntime() *ResourceRuntime { + if x != nil { + return x.ResourceRuntime + } + return nil +} + +func (x *PersistentResource) GetReservedIpRanges() []string { + if x != nil { + return x.ReservedIpRanges + } + return nil +} + +// Represents the spec of a group of resources of the same type, +// for example machine type, disk, and accelerators, in a PersistentResource. +type ResourcePool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The unique ID in a PersistentResource for referring to this + // resource pool. User can specify it if necessary. Otherwise, it's generated + // automatically. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. Immutable. The specification of a single machine. + MachineSpec *MachineSpec `protobuf:"bytes,2,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Optional. The total number of machines to use for this resource pool. + ReplicaCount *int64 `protobuf:"varint,3,opt,name=replica_count,json=replicaCount,proto3,oneof" json:"replica_count,omitempty"` + // Optional. Disk spec for the machine in this node pool. + DiskSpec *DiskSpec `protobuf:"bytes,4,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"` + // Output only. The number of machines currently in use by training jobs for + // this resource pool. Will replace idle_replica_count. + UsedReplicaCount int64 `protobuf:"varint,6,opt,name=used_replica_count,json=usedReplicaCount,proto3" json:"used_replica_count,omitempty"` + // Optional. Optional spec to configure GKE autoscaling + AutoscalingSpec *ResourcePool_AutoscalingSpec `protobuf:"bytes,7,opt,name=autoscaling_spec,json=autoscalingSpec,proto3" json:"autoscaling_spec,omitempty"` +} + +func (x *ResourcePool) Reset() { + *x = ResourcePool{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourcePool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcePool) ProtoMessage() {} + +func (x *ResourcePool) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1] + 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 ResourcePool.ProtoReflect.Descriptor instead. +func (*ResourcePool) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{1} +} + +func (x *ResourcePool) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ResourcePool) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *ResourcePool) GetReplicaCount() int64 { + if x != nil && x.ReplicaCount != nil { + return *x.ReplicaCount + } + return 0 +} + +func (x *ResourcePool) GetDiskSpec() *DiskSpec { + if x != nil { + return x.DiskSpec + } + return nil +} + +func (x *ResourcePool) GetUsedReplicaCount() int64 { + if x != nil { + return x.UsedReplicaCount + } + return 0 +} + +func (x *ResourcePool) GetAutoscalingSpec() *ResourcePool_AutoscalingSpec { + if x != nil { + return x.AutoscalingSpec + } + return nil +} + +// Configuration for the runtime on a PersistentResource instance, including +// but not limited to: +// +// * Service accounts used to run the workloads. +// * Whether to make it a dedicated Ray Cluster. +type ResourceRuntimeSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configure the use of workload identity on the PersistentResource + ServiceAccountSpec *ServiceAccountSpec `protobuf:"bytes,2,opt,name=service_account_spec,json=serviceAccountSpec,proto3" json:"service_account_spec,omitempty"` + // Optional. Ray cluster configuration. + // Required when creating a dedicated RayCluster on the PersistentResource. + RaySpec *RaySpec `protobuf:"bytes,1,opt,name=ray_spec,json=raySpec,proto3" json:"ray_spec,omitempty"` +} + +func (x *ResourceRuntimeSpec) Reset() { + *x = ResourceRuntimeSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceRuntimeSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceRuntimeSpec) ProtoMessage() {} + +func (x *ResourceRuntimeSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_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 ResourceRuntimeSpec.ProtoReflect.Descriptor instead. +func (*ResourceRuntimeSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{2} +} + +func (x *ResourceRuntimeSpec) GetServiceAccountSpec() *ServiceAccountSpec { + if x != nil { + return x.ServiceAccountSpec + } + return nil +} + +func (x *ResourceRuntimeSpec) GetRaySpec() *RaySpec { + if x != nil { + return x.RaySpec + } + return nil +} + +// Configuration information for the Ray cluster. +// For experimental launch, Ray cluster creation and Persistent +// cluster creation are 1:1 mapping: We will provision all the nodes within the +// Persistent cluster as Ray nodes. +type RaySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Default image for user to choose a preferred ML framework + // (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt + // images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). + // Either this or the resource_pool_images is required. Use this field if + // you need all the resource pools to have the same Ray image. Otherwise, use + // the {@code resource_pool_images} field. + ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` + // Optional. Required if image_uri isn't set. A map of resource_pool_id to + // prebuild Ray image if user need to use different images for different + // head/worker pools. This map needs to cover all the resource pool ids. + // Example: + // + // { + // "ray_head_node_pool": "head image" + // "ray_worker_node_pool1": "worker image" + // "ray_worker_node_pool2": "another worker image" + // } + ResourcePoolImages map[string]string `protobuf:"bytes,6,rep,name=resource_pool_images,json=resourcePoolImages,proto3" json:"resource_pool_images,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. This will be used to indicate which resource pool will serve as + // the Ray head node(the first node within that pool). Will use the machine + // from the first workerpool as the head node by default if this field isn't + // set. + HeadNodeResourcePoolId string `protobuf:"bytes,7,opt,name=head_node_resource_pool_id,json=headNodeResourcePoolId,proto3" json:"head_node_resource_pool_id,omitempty"` +} + +func (x *RaySpec) Reset() { + *x = RaySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RaySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RaySpec) ProtoMessage() {} + +func (x *RaySpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[3] + 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 RaySpec.ProtoReflect.Descriptor instead. +func (*RaySpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{3} +} + +func (x *RaySpec) GetImageUri() string { + if x != nil { + return x.ImageUri + } + return "" +} + +func (x *RaySpec) GetResourcePoolImages() map[string]string { + if x != nil { + return x.ResourcePoolImages + } + return nil +} + +func (x *RaySpec) GetHeadNodeResourcePoolId() string { + if x != nil { + return x.HeadNodeResourcePoolId + } + return "" +} + +// Persistent Cluster runtime information as output +type ResourceRuntime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. URIs for user to connect to the Cluster. + // Example: + // + // { + // "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" + // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" + // } + AccessUris map[string]string `protobuf:"bytes,1,rep,name=access_uris,json=accessUris,proto3" json:"access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ResourceRuntime) Reset() { + *x = ResourceRuntime{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceRuntime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceRuntime) ProtoMessage() {} + +func (x *ResourceRuntime) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[4] + 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 ResourceRuntime.ProtoReflect.Descriptor instead. +func (*ResourceRuntime) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{4} +} + +func (x *ResourceRuntime) GetAccessUris() map[string]string { + if x != nil { + return x.AccessUris + } + return nil +} + +// Configuration for the use of custom service account to run the workloads. +type ServiceAccountSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. If true, custom user-managed service account is enforced to run + // any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses + // the [Vertex AI Custom Code Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). + EnableCustomServiceAccount bool `protobuf:"varint,1,opt,name=enable_custom_service_account,json=enableCustomServiceAccount,proto3" json:"enable_custom_service_account,omitempty"` + // Optional. Default service account that this PersistentResource's workloads + // run as. The workloads include: + // + // - Any runtime specified via `ResourceRuntimeSpec` on creation time, + // for example, Ray. + // - Jobs submitted to PersistentResource, if no other service account + // specified in the job specs. + // + // Only works when custom service account is enabled and users have the + // `iam.serviceAccounts.actAs` permission on this service account. + // + // Required if any containers are specified in `ResourceRuntimeSpec`. + ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` +} + +func (x *ServiceAccountSpec) Reset() { + *x = ServiceAccountSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAccountSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAccountSpec) ProtoMessage() {} + +func (x *ServiceAccountSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[5] + 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 ServiceAccountSpec.ProtoReflect.Descriptor instead. +func (*ServiceAccountSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{5} +} + +func (x *ServiceAccountSpec) GetEnableCustomServiceAccount() bool { + if x != nil { + return x.EnableCustomServiceAccount + } + return false +} + +func (x *ServiceAccountSpec) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +// The min/max number of replicas allowed if enabling autoscaling +type ResourcePool_AutoscalingSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. min replicas in the node pool, + // must be ≤ replica_count and < max_replica_count or will throw error + MinReplicaCount *int64 `protobuf:"varint,1,opt,name=min_replica_count,json=minReplicaCount,proto3,oneof" json:"min_replica_count,omitempty"` + // Optional. max replicas in the node pool, + // must be ≥ replica_count and > min_replica_count or will throw error + MaxReplicaCount *int64 `protobuf:"varint,2,opt,name=max_replica_count,json=maxReplicaCount,proto3,oneof" json:"max_replica_count,omitempty"` +} + +func (x *ResourcePool_AutoscalingSpec) Reset() { + *x = ResourcePool_AutoscalingSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourcePool_AutoscalingSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcePool_AutoscalingSpec) ProtoMessage() {} + +func (x *ResourcePool_AutoscalingSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7] + 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 ResourcePool_AutoscalingSpec.ProtoReflect.Descriptor instead. +func (*ResourcePool_AutoscalingSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *ResourcePool_AutoscalingSpec) GetMinReplicaCount() int64 { + if x != nil && x.MinReplicaCount != nil { + return *x.MinReplicaCount + } + return 0 +} + +func (x *ResourcePool_AutoscalingSpec) GetMaxReplicaCount() int64 { + if x != nil && x.MaxReplicaCount != nil { + return *x.MaxReplicaCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc = []byte{ + 0x0a, 0x3a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x0a, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5a, + 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x5e, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6e, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, + 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, + 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x3a, 0x85, + 0x01, 0xea, 0x41, 0x81, 0x01, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x22, 0xdb, 0x04, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0c, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x75, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xa9, 0x01, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x69, + 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, + 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6b, 0x0a, 0x14, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x61, 0x79, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x72, 0x61, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x22, 0xad, 0x02, 0x0a, 0x07, 0x52, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x69, 0x12, 0x78, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1a, + 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x68, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x1a, 0x45, 0x0a, + 0x17, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb9, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, + 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xef, 0x01, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes = []interface{}{ + (PersistentResource_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.State + (*PersistentResource)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.PersistentResource + (*ResourcePool)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ResourcePool + (*ResourceRuntimeSpec)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntimeSpec + (*RaySpec)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.RaySpec + (*ResourceRuntime)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntime + (*ServiceAccountSpec)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ServiceAccountSpec + nil, // 7: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.LabelsEntry + (*ResourcePool_AutoscalingSpec)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ResourcePool.AutoscalingSpec + nil, // 9: mockgcp.cloud.aiplatform.v1beta1.RaySpec.ResourcePoolImagesEntry + nil, // 10: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntime.AccessUrisEntry + (*status.Status)(nil), // 11: google.rpc.Status + (*timestamp.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*MachineSpec)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.MachineSpec + (*DiskSpec)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.DiskSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.resource_pools:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourcePool + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource.State + 11, // 2: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.error:type_name -> google.rpc.Status + 12, // 3: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.create_time:type_name -> google.protobuf.Timestamp + 12, // 4: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.start_time:type_name -> google.protobuf.Timestamp + 12, // 5: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.update_time:type_name -> google.protobuf.Timestamp + 7, // 6: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource.LabelsEntry + 13, // 7: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 3, // 8: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.resource_runtime_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourceRuntimeSpec + 5, // 9: mockgcp.cloud.aiplatform.v1beta1.PersistentResource.resource_runtime:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourceRuntime + 14, // 10: mockgcp.cloud.aiplatform.v1beta1.ResourcePool.machine_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.MachineSpec + 15, // 11: mockgcp.cloud.aiplatform.v1beta1.ResourcePool.disk_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.DiskSpec + 8, // 12: mockgcp.cloud.aiplatform.v1beta1.ResourcePool.autoscaling_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourcePool.AutoscalingSpec + 6, // 13: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntimeSpec.service_account_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ServiceAccountSpec + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntimeSpec.ray_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.RaySpec + 9, // 15: mockgcp.cloud.aiplatform.v1beta1.RaySpec.resource_pool_images:type_name -> mockgcp.cloud.aiplatform.v1beta1.RaySpec.ResourcePoolImagesEntry + 10, // 16: mockgcp.cloud.aiplatform.v1beta1.ResourceRuntime.access_uris:type_name -> mockgcp.cloud.aiplatform.v1beta1.ResourceRuntime.AccessUrisEntry + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersistentResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourcePool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceRuntimeSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RaySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceRuntime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAccountSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourcePool_AutoscalingSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc, + NumEnums: 1, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.go new file mode 100644 index 0000000000..e09a3d1b0b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.go @@ -0,0 +1,911 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [PersistentResourceService.CreatePersistentResource][mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource]. +type CreatePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // PersistentResource in. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The PersistentResource to create. + PersistentResource *PersistentResource `protobuf:"bytes,2,opt,name=persistent_resource,json=persistentResource,proto3" json:"persistent_resource,omitempty"` + // Required. The ID to use for the PersistentResource, which become the final + // component of the PersistentResource's resource name. + // + // The maximum length is 63 characters, and valid characters + // are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + PersistentResourceId string `protobuf:"bytes,3,opt,name=persistent_resource_id,json=persistentResourceId,proto3" json:"persistent_resource_id,omitempty"` +} + +func (x *CreatePersistentResourceRequest) Reset() { + *x = CreatePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersistentResourceRequest) ProtoMessage() {} + +func (x *CreatePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[0] + 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 CreatePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*CreatePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreatePersistentResourceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreatePersistentResourceRequest) GetPersistentResource() *PersistentResource { + if x != nil { + return x.PersistentResource + } + return nil +} + +func (x *CreatePersistentResourceRequest) GetPersistentResourceId() string { + if x != nil { + return x.PersistentResourceId + } + return "" +} + +// Details of operations that perform create PersistentResource. +type CreatePersistentResourceOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for PersistentResource. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreatePersistentResourceOperationMetadata) Reset() { + *x = CreatePersistentResourceOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersistentResourceOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersistentResourceOperationMetadata) ProtoMessage() {} + +func (x *CreatePersistentResourceOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[1] + 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 CreatePersistentResourceOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreatePersistentResourceOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreatePersistentResourceOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update PersistentResource. +type UpdatePersistentResourceOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for PersistentResource. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdatePersistentResourceOperationMetadata) Reset() { + *x = UpdatePersistentResourceOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersistentResourceOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersistentResourceOperationMetadata) ProtoMessage() {} + +func (x *UpdatePersistentResourceOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_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 UpdatePersistentResourceOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdatePersistentResourceOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdatePersistentResourceOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [PersistentResourceService.GetPersistentResource][mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource]. +type GetPersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PersistentResource resource. + // Format: + // `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetPersistentResourceRequest) Reset() { + *x = GetPersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPersistentResourceRequest) ProtoMessage() {} + +func (x *GetPersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[3] + 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 GetPersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*GetPersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{3} +} + +func (x *GetPersistentResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [PersistentResourceService.ListPersistentResource][]. +type ListPersistentResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the PersistentResources + // from. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListPersistentResourceResponse.next_page_token][] of the previous + // [PersistentResourceService.ListPersistentResource][] call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListPersistentResourcesRequest) Reset() { + *x = ListPersistentResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersistentResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersistentResourcesRequest) ProtoMessage() {} + +func (x *ListPersistentResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[4] + 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 ListPersistentResourcesRequest.ProtoReflect.Descriptor instead. +func (*ListPersistentResourcesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListPersistentResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPersistentResourcesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPersistentResourcesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [PersistentResourceService.ListPersistentResources][mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources] +type ListPersistentResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PersistentResources []*PersistentResource `protobuf:"bytes,1,rep,name=persistent_resources,json=persistentResources,proto3" json:"persistent_resources,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListPersistentResourcesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPersistentResourcesResponse) Reset() { + *x = ListPersistentResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersistentResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersistentResourcesResponse) ProtoMessage() {} + +func (x *ListPersistentResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[5] + 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 ListPersistentResourcesResponse.ProtoReflect.Descriptor instead. +func (*ListPersistentResourcesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListPersistentResourcesResponse) GetPersistentResources() []*PersistentResource { + if x != nil { + return x.PersistentResources + } + return nil +} + +func (x *ListPersistentResourcesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [PersistentResourceService.DeletePersistentResource][mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource]. +type DeletePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PersistentResource to be deleted. + // Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeletePersistentResourceRequest) Reset() { + *x = DeletePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePersistentResourceRequest) ProtoMessage() {} + +func (x *DeletePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_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 DeletePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*DeletePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeletePersistentResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for UpdatePersistentResource method. +type UpdatePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The PersistentResource to update. + // + // The PersistentResource's `name` field is used to identify the + // PersistentResource to update. Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + PersistentResource *PersistentResource `protobuf:"bytes,1,opt,name=persistent_resource,json=persistentResource,proto3" json:"persistent_resource,omitempty"` + // Required. Specify the fields to be overwritten in the PersistentResource by + // the update method. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdatePersistentResourceRequest) Reset() { + *x = UpdatePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersistentResourceRequest) ProtoMessage() {} + +func (x *UpdatePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[7] + 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 UpdatePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*UpdatePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdatePersistentResourceRequest) GetPersistentResource() *PersistentResource { + if x != nil { + return x.PersistentResource + } + return nil +} + +func (x *UpdatePersistentResourceRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDesc = []byte{ + 0x0a, 0x42, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 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, 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, 0x22, 0x8b, 0x02, 0x0a, 0x1f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, + 0x0a, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x29, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x92, + 0x01, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, + 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb2, 0x01, 0x0a, 0x1f, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, + 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x6b, + 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x1f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x6a, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x32, 0xda, 0x0b, + 0x0a, 0x19, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xce, 0x02, 0x0a, 0x18, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 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, 0xcf, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x53, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x3a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xda, 0x41, 0x31, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x3f, 0x0a, 0x12, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x29, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xda, 0x01, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xed, 0x01, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x18, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 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, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, + 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 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, 0xd1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, + 0x32, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xda, 0x41, 0x1f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x3f, 0x0a, 0x12, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, 0x19, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xf6, 0x01, 0x0a, 0x24, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x42, 0x1e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_goTypes = []interface{}{ + (*CreatePersistentResourceRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreatePersistentResourceRequest + (*CreatePersistentResourceOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreatePersistentResourceOperationMetadata + (*UpdatePersistentResourceOperationMetadata)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceOperationMetadata + (*GetPersistentResourceRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.GetPersistentResourceRequest + (*ListPersistentResourcesRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesRequest + (*ListPersistentResourcesResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesResponse + (*DeletePersistentResourceRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DeletePersistentResourceRequest + (*UpdatePersistentResourceRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceRequest + (*PersistentResource)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.PersistentResource + (*GenericOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 10: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 11: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_depIdxs = []int32{ + 8, // 0: mockgcp.cloud.aiplatform.v1beta1.CreatePersistentResourceRequest.persistent_resource:type_name -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource + 9, // 1: mockgcp.cloud.aiplatform.v1beta1.CreatePersistentResourceOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 9, // 2: mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 8, // 3: mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesResponse.persistent_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource + 8, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceRequest.persistent_resource:type_name -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource + 10, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 6: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreatePersistentResourceRequest + 3, // 7: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetPersistentResourceRequest + 4, // 8: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesRequest + 6, // 9: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeletePersistentResourceRequest + 7, // 10: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.UpdatePersistentResource:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdatePersistentResourceRequest + 11, // 11: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource:output_type -> google.longrunning.Operation + 8, // 12: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource:output_type -> mockgcp.cloud.aiplatform.v1beta1.PersistentResource + 5, // 13: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListPersistentResourcesResponse + 11, // 14: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource:output_type -> google.longrunning.Operation + 11, // 15: mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService.UpdatePersistentResource:output_type -> google.longrunning.Operation + 11, // [11:16] is the sub-list for method output_type + 6, // [6:11] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersistentResourceOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersistentResourceOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersistentResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersistentResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersistentResourceRequest); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_persistent_resource_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.gw.go new file mode 100644 index 0000000000..081df25faf --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.pb.gw.go @@ -0,0 +1,701 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_PersistentResourceService_CreatePersistentResource_0 = &utilities.DoubleArray{Encoding: map[string]int{"persistent_resource": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_PersistentResourceService_CreatePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, client PersistentResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePersistentResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PersistentResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_CreatePersistentResource_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreatePersistentResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PersistentResourceService_CreatePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, server PersistentResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePersistentResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PersistentResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_CreatePersistentResource_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePersistentResource(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PersistentResourceService_GetPersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, client PersistentResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPersistentResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetPersistentResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PersistentResourceService_GetPersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, server PersistentResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPersistentResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetPersistentResource(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_PersistentResourceService_ListPersistentResources_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_PersistentResourceService_ListPersistentResources_0(ctx context.Context, marshaler runtime.Marshaler, client PersistentResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPersistentResourcesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_ListPersistentResources_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListPersistentResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PersistentResourceService_ListPersistentResources_0(ctx context.Context, marshaler runtime.Marshaler, server PersistentResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPersistentResourcesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_ListPersistentResources_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListPersistentResources(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PersistentResourceService_DeletePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, client PersistentResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeletePersistentResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeletePersistentResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PersistentResourceService_DeletePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, server PersistentResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeletePersistentResourceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeletePersistentResource(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_PersistentResourceService_UpdatePersistentResource_0 = &utilities.DoubleArray{Encoding: map[string]int{"persistent_resource": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_PersistentResourceService_UpdatePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, client PersistentResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdatePersistentResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PersistentResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.PersistentResource); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["persistent_resource.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "persistent_resource.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "persistent_resource.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "persistent_resource.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_UpdatePersistentResource_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdatePersistentResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PersistentResourceService_UpdatePersistentResource_0(ctx context.Context, marshaler runtime.Marshaler, server PersistentResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdatePersistentResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PersistentResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.PersistentResource); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["persistent_resource.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "persistent_resource.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "persistent_resource.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "persistent_resource.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PersistentResourceService_UpdatePersistentResource_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdatePersistentResource(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterPersistentResourceServiceHandlerServer registers the http handlers for service PersistentResourceService to "mux". +// UnaryRPC :call PersistentResourceServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPersistentResourceServiceHandlerFromEndpoint instead. +func RegisterPersistentResourceServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PersistentResourceServiceServer) error { + + mux.Handle("POST", pattern_PersistentResourceService_CreatePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/CreatePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/persistentResources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PersistentResourceService_CreatePersistentResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_CreatePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PersistentResourceService_GetPersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/GetPersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PersistentResourceService_GetPersistentResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_GetPersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PersistentResourceService_ListPersistentResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/ListPersistentResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/persistentResources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PersistentResourceService_ListPersistentResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_ListPersistentResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PersistentResourceService_DeletePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/DeletePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PersistentResourceService_DeletePersistentResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_DeletePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_PersistentResourceService_UpdatePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/UpdatePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{persistent_resource.name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PersistentResourceService_UpdatePersistentResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_UpdatePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterPersistentResourceServiceHandlerFromEndpoint is same as RegisterPersistentResourceServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterPersistentResourceServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterPersistentResourceServiceHandler(ctx, mux, conn) +} + +// RegisterPersistentResourceServiceHandler registers the http handlers for service PersistentResourceService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterPersistentResourceServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterPersistentResourceServiceHandlerClient(ctx, mux, NewPersistentResourceServiceClient(conn)) +} + +// RegisterPersistentResourceServiceHandlerClient registers the http handlers for service PersistentResourceService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PersistentResourceServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PersistentResourceServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "PersistentResourceServiceClient" to call the correct interceptors. +func RegisterPersistentResourceServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PersistentResourceServiceClient) error { + + mux.Handle("POST", pattern_PersistentResourceService_CreatePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/CreatePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/persistentResources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PersistentResourceService_CreatePersistentResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_CreatePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PersistentResourceService_GetPersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/GetPersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PersistentResourceService_GetPersistentResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_GetPersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PersistentResourceService_ListPersistentResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/ListPersistentResources", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/persistentResources")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PersistentResourceService_ListPersistentResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_ListPersistentResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PersistentResourceService_DeletePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/DeletePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PersistentResourceService_DeletePersistentResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_DeletePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_PersistentResourceService_UpdatePersistentResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/UpdatePersistentResource", runtime.WithHTTPPathPattern("/v1beta1/{persistent_resource.name=projects/*/locations/*/persistentResources/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PersistentResourceService_UpdatePersistentResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PersistentResourceService_UpdatePersistentResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_PersistentResourceService_CreatePersistentResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "persistentResources"}, "")) + + pattern_PersistentResourceService_GetPersistentResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "persistentResources", "name"}, "")) + + pattern_PersistentResourceService_ListPersistentResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "persistentResources"}, "")) + + pattern_PersistentResourceService_DeletePersistentResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "persistentResources", "name"}, "")) + + pattern_PersistentResourceService_UpdatePersistentResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "persistentResources", "persistent_resource.name"}, "")) +) + +var ( + forward_PersistentResourceService_CreatePersistentResource_0 = runtime.ForwardResponseMessage + + forward_PersistentResourceService_GetPersistentResource_0 = runtime.ForwardResponseMessage + + forward_PersistentResourceService_ListPersistentResources_0 = runtime.ForwardResponseMessage + + forward_PersistentResourceService_DeletePersistentResource_0 = runtime.ForwardResponseMessage + + forward_PersistentResourceService_UpdatePersistentResource_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service_grpc.pb.go new file mode 100644 index 0000000000..7ba495ceab --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service_grpc.pb.go @@ -0,0 +1,261 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// PersistentResourceServiceClient is the client API for PersistentResourceService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type PersistentResourceServiceClient interface { + // Creates a PersistentResource. + CreatePersistentResource(ctx context.Context, in *CreatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a PersistentResource. + GetPersistentResource(ctx context.Context, in *GetPersistentResourceRequest, opts ...grpc.CallOption) (*PersistentResource, error) + // Lists PersistentResources in a Location. + ListPersistentResources(ctx context.Context, in *ListPersistentResourcesRequest, opts ...grpc.CallOption) (*ListPersistentResourcesResponse, error) + // Deletes a PersistentResource. + DeletePersistentResource(ctx context.Context, in *DeletePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a PersistentResource. + UpdatePersistentResource(ctx context.Context, in *UpdatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type persistentResourceServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPersistentResourceServiceClient(cc grpc.ClientConnInterface) PersistentResourceServiceClient { + return &persistentResourceServiceClient{cc} +} + +func (c *persistentResourceServiceClient) CreatePersistentResource(ctx context.Context, in *CreatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/CreatePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) GetPersistentResource(ctx context.Context, in *GetPersistentResourceRequest, opts ...grpc.CallOption) (*PersistentResource, error) { + out := new(PersistentResource) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/GetPersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) ListPersistentResources(ctx context.Context, in *ListPersistentResourcesRequest, opts ...grpc.CallOption) (*ListPersistentResourcesResponse, error) { + out := new(ListPersistentResourcesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/ListPersistentResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) DeletePersistentResource(ctx context.Context, in *DeletePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/DeletePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) UpdatePersistentResource(ctx context.Context, in *UpdatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/UpdatePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PersistentResourceServiceServer is the server API for PersistentResourceService service. +// All implementations must embed UnimplementedPersistentResourceServiceServer +// for forward compatibility +type PersistentResourceServiceServer interface { + // Creates a PersistentResource. + CreatePersistentResource(context.Context, *CreatePersistentResourceRequest) (*longrunningpb.Operation, error) + // Gets a PersistentResource. + GetPersistentResource(context.Context, *GetPersistentResourceRequest) (*PersistentResource, error) + // Lists PersistentResources in a Location. + ListPersistentResources(context.Context, *ListPersistentResourcesRequest) (*ListPersistentResourcesResponse, error) + // Deletes a PersistentResource. + DeletePersistentResource(context.Context, *DeletePersistentResourceRequest) (*longrunningpb.Operation, error) + // Updates a PersistentResource. + UpdatePersistentResource(context.Context, *UpdatePersistentResourceRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedPersistentResourceServiceServer() +} + +// UnimplementedPersistentResourceServiceServer must be embedded to have forward compatible implementations. +type UnimplementedPersistentResourceServiceServer struct { +} + +func (UnimplementedPersistentResourceServiceServer) CreatePersistentResource(context.Context, *CreatePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePersistentResource not implemented") +} +func (UnimplementedPersistentResourceServiceServer) GetPersistentResource(context.Context, *GetPersistentResourceRequest) (*PersistentResource, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPersistentResource not implemented") +} +func (UnimplementedPersistentResourceServiceServer) ListPersistentResources(context.Context, *ListPersistentResourcesRequest) (*ListPersistentResourcesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPersistentResources not implemented") +} +func (UnimplementedPersistentResourceServiceServer) DeletePersistentResource(context.Context, *DeletePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePersistentResource not implemented") +} +func (UnimplementedPersistentResourceServiceServer) UpdatePersistentResource(context.Context, *UpdatePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePersistentResource not implemented") +} +func (UnimplementedPersistentResourceServiceServer) mustEmbedUnimplementedPersistentResourceServiceServer() { +} + +// UnsafePersistentResourceServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PersistentResourceServiceServer will +// result in compilation errors. +type UnsafePersistentResourceServiceServer interface { + mustEmbedUnimplementedPersistentResourceServiceServer() +} + +func RegisterPersistentResourceServiceServer(s grpc.ServiceRegistrar, srv PersistentResourceServiceServer) { + s.RegisterService(&PersistentResourceService_ServiceDesc, srv) +} + +func _PersistentResourceService_CreatePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).CreatePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/CreatePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).CreatePersistentResource(ctx, req.(*CreatePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_GetPersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).GetPersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/GetPersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).GetPersistentResource(ctx, req.(*GetPersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_ListPersistentResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPersistentResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).ListPersistentResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/ListPersistentResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).ListPersistentResources(ctx, req.(*ListPersistentResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_DeletePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).DeletePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/DeletePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).DeletePersistentResource(ctx, req.(*DeletePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_UpdatePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).UpdatePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService/UpdatePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).UpdatePersistentResource(ctx, req.(*UpdatePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// PersistentResourceService_ServiceDesc is the grpc.ServiceDesc for PersistentResourceService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PersistentResourceService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.PersistentResourceService", + HandlerType: (*PersistentResourceServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreatePersistentResource", + Handler: _PersistentResourceService_CreatePersistentResource_Handler, + }, + { + MethodName: "GetPersistentResource", + Handler: _PersistentResourceService_GetPersistentResource_Handler, + }, + { + MethodName: "ListPersistentResources", + Handler: _PersistentResourceService_ListPersistentResources_Handler, + }, + { + MethodName: "DeletePersistentResource", + Handler: _PersistentResourceService_DeletePersistentResource_Handler, + }, + { + MethodName: "UpdatePersistentResource", + Handler: _PersistentResourceService_UpdatePersistentResource_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/persistent_resource_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_failure_policy.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_failure_policy.pb.go new file mode 100644 index 0000000000..3c9eab26ad --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_failure_policy.pb.go @@ -0,0 +1,180 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_failure_policy.proto + +package aiplatformpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents the failure policy of a pipeline. Currently, the default of a +// pipeline is that the pipeline will continue to run until no more tasks can be +// executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a +// pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling +// any new tasks when a task has failed. Any scheduled tasks will continue to +// completion. +type PipelineFailurePolicy int32 + +const ( + // Default value, and follows fail slow behavior. + PipelineFailurePolicy_PIPELINE_FAILURE_POLICY_UNSPECIFIED PipelineFailurePolicy = 0 + // Indicates that the pipeline should continue to run until all possible + // tasks have been scheduled and completed. + PipelineFailurePolicy_PIPELINE_FAILURE_POLICY_FAIL_SLOW PipelineFailurePolicy = 1 + // Indicates that the pipeline should stop scheduling new tasks after a task + // has failed. + PipelineFailurePolicy_PIPELINE_FAILURE_POLICY_FAIL_FAST PipelineFailurePolicy = 2 +) + +// Enum value maps for PipelineFailurePolicy. +var ( + PipelineFailurePolicy_name = map[int32]string{ + 0: "PIPELINE_FAILURE_POLICY_UNSPECIFIED", + 1: "PIPELINE_FAILURE_POLICY_FAIL_SLOW", + 2: "PIPELINE_FAILURE_POLICY_FAIL_FAST", + } + PipelineFailurePolicy_value = map[string]int32{ + "PIPELINE_FAILURE_POLICY_UNSPECIFIED": 0, + "PIPELINE_FAILURE_POLICY_FAIL_SLOW": 1, + "PIPELINE_FAILURE_POLICY_FAIL_FAST": 2, + } +) + +func (x PipelineFailurePolicy) Enum() *PipelineFailurePolicy { + p := new(PipelineFailurePolicy) + *p = x + return p +} + +func (x PipelineFailurePolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PipelineFailurePolicy) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_enumTypes[0].Descriptor() +} + +func (PipelineFailurePolicy) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_enumTypes[0] +} + +func (x PipelineFailurePolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PipelineFailurePolicy.Descriptor instead. +func (PipelineFailurePolicy) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescGZIP(), []int{0} +} + +var File_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDesc = []byte{ + 0x0a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, + 0x75, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2a, 0x8e, 0x01, 0x0a, 0x15, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x23, + 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, + 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, + 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x46, 0x41, 0x53, + 0x54, 0x10, 0x02, 0x42, 0xf2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1a, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_goTypes = []interface{}{ + (PipelineFailurePolicy)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PipelineFailurePolicy +} +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_enumTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_job.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_job.pb.go new file mode 100644 index 0000000000..a12f83d68b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_job.pb.go @@ -0,0 +1,1859 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_job.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifies state of TaskExecution +type PipelineTaskDetail_State int32 + +const ( + // Unspecified. + PipelineTaskDetail_STATE_UNSPECIFIED PipelineTaskDetail_State = 0 + // Specifies pending state for the task. + PipelineTaskDetail_PENDING PipelineTaskDetail_State = 1 + // Specifies task is being executed. + PipelineTaskDetail_RUNNING PipelineTaskDetail_State = 2 + // Specifies task completed successfully. + PipelineTaskDetail_SUCCEEDED PipelineTaskDetail_State = 3 + // Specifies Task cancel is in pending state. + PipelineTaskDetail_CANCEL_PENDING PipelineTaskDetail_State = 4 + // Specifies task is being cancelled. + PipelineTaskDetail_CANCELLING PipelineTaskDetail_State = 5 + // Specifies task was cancelled. + PipelineTaskDetail_CANCELLED PipelineTaskDetail_State = 6 + // Specifies task failed. + PipelineTaskDetail_FAILED PipelineTaskDetail_State = 7 + // Specifies task was skipped due to cache hit. + PipelineTaskDetail_SKIPPED PipelineTaskDetail_State = 8 + // Specifies that the task was not triggered because the task's trigger + // policy is not satisfied. The trigger policy is specified in the + // `condition` field of + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec]. + PipelineTaskDetail_NOT_TRIGGERED PipelineTaskDetail_State = 9 +) + +// Enum value maps for PipelineTaskDetail_State. +var ( + PipelineTaskDetail_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "PENDING", + 2: "RUNNING", + 3: "SUCCEEDED", + 4: "CANCEL_PENDING", + 5: "CANCELLING", + 6: "CANCELLED", + 7: "FAILED", + 8: "SKIPPED", + 9: "NOT_TRIGGERED", + } + PipelineTaskDetail_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "PENDING": 1, + "RUNNING": 2, + "SUCCEEDED": 3, + "CANCEL_PENDING": 4, + "CANCELLING": 5, + "CANCELLED": 6, + "FAILED": 7, + "SKIPPED": 8, + "NOT_TRIGGERED": 9, + } +) + +func (x PipelineTaskDetail_State) Enum() *PipelineTaskDetail_State { + p := new(PipelineTaskDetail_State) + *p = x + return p +} + +func (x PipelineTaskDetail_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PipelineTaskDetail_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_enumTypes[0].Descriptor() +} + +func (PipelineTaskDetail_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_enumTypes[0] +} + +func (x PipelineTaskDetail_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PipelineTaskDetail_State.Descriptor instead. +func (PipelineTaskDetail_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{3, 0} +} + +// An instance of a machine learning PipelineJob. +type PipelineJob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the PipelineJob. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The display name of the Pipeline. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Pipeline creation time. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Pipeline start time. + StartTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Pipeline end time. + EndTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Timestamp when this PipelineJob was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The spec of the pipeline. + PipelineSpec *_struct.Struct `protobuf:"bytes,7,opt,name=pipeline_spec,json=pipelineSpec,proto3" json:"pipeline_spec,omitempty"` + // Output only. The detailed state of the job. + State PipelineState `protobuf:"varint,8,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PipelineState" json:"state,omitempty"` + // Output only. The details of pipeline run. Not available in the list view. + JobDetail *PipelineJobDetail `protobuf:"bytes,9,opt,name=job_detail,json=jobDetail,proto3" json:"job_detail,omitempty"` + // Output only. The error that occurred during pipeline execution. + // Only populated when the pipeline's state is FAILED or CANCELLED. + Error *status.Status `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"` + // The labels with user-defined metadata to organize PipelineJob. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // + // Note there is some reserved label key for Vertex AI Pipelines. + // - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. + Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Runtime config of the pipeline. + RuntimeConfig *PipelineJob_RuntimeConfig `protobuf:"bytes,12,opt,name=runtime_config,json=runtimeConfig,proto3" json:"runtime_config,omitempty"` + // Customer-managed encryption key spec for a pipelineJob. If set, this + // PipelineJob and all of its sub-resources will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,16,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // The service account that the pipeline workload runs as. + // If not specified, the Compute Engine default service account in the project + // will be used. + // See + // https://cloud.google.com/compute/docs/access/service-accounts#default_service_account + // + // Users starting the pipeline must have the `iam.serviceAccounts.actAs` + // permission on this service account. + ServiceAccount string `protobuf:"bytes,17,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to which the + // Pipeline Job's workload should be peered. For example, + // `projects/12345/global/networks/myVPC`. + // [Format](/compute/docs/reference/rest/v1/networks/insert) + // is of the form `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in `12345`, and {network} is a + // network name. + // + // Private services access must already be configured for the network. + // Pipeline job will apply the network configuration to the Google Cloud + // resources being launched, if applied, such as Vertex AI + // Training or Dataflow job. If left unspecified, the workload is not peered + // with any network. + Network string `protobuf:"bytes,18,opt,name=network,proto3" json:"network,omitempty"` + // A list of names for the reserved ip ranges under the VPC network + // that can be used for this Pipeline Job's workload. + // + // If set, we will deploy the Pipeline Job's workload within the provided ip + // ranges. Otherwise, the job will be deployed to any ip ranges under the + // provided VPC network. + // + // Example: ['vertex-ai-ip-range']. + ReservedIpRanges []string `protobuf:"bytes,25,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` + // A template uri from where the + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec], + // if empty, will be downloaded. Currently, only uri from Vertex Template + // Registry & Gallery is supported. Reference to + // https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template. + TemplateUri string `protobuf:"bytes,19,opt,name=template_uri,json=templateUri,proto3" json:"template_uri,omitempty"` + // Output only. Pipeline template metadata. Will fill up fields if + // [PipelineJob.template_uri][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.template_uri] + // is from supported template registry. + TemplateMetadata *PipelineTemplateMetadata `protobuf:"bytes,20,opt,name=template_metadata,json=templateMetadata,proto3" json:"template_metadata,omitempty"` + // Output only. The schedule resource name. + // Only returned if the Pipeline is created by Schedule API. + ScheduleName string `protobuf:"bytes,22,opt,name=schedule_name,json=scheduleName,proto3" json:"schedule_name,omitempty"` +} + +func (x *PipelineJob) Reset() { + *x = PipelineJob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineJob) ProtoMessage() {} + +func (x *PipelineJob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[0] + 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 PipelineJob.ProtoReflect.Descriptor instead. +func (*PipelineJob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{0} +} + +func (x *PipelineJob) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PipelineJob) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PipelineJob) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PipelineJob) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *PipelineJob) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *PipelineJob) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PipelineJob) GetPipelineSpec() *_struct.Struct { + if x != nil { + return x.PipelineSpec + } + return nil +} + +func (x *PipelineJob) GetState() PipelineState { + if x != nil { + return x.State + } + return PipelineState_PIPELINE_STATE_UNSPECIFIED +} + +func (x *PipelineJob) GetJobDetail() *PipelineJobDetail { + if x != nil { + return x.JobDetail + } + return nil +} + +func (x *PipelineJob) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *PipelineJob) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *PipelineJob) GetRuntimeConfig() *PipelineJob_RuntimeConfig { + if x != nil { + return x.RuntimeConfig + } + return nil +} + +func (x *PipelineJob) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *PipelineJob) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *PipelineJob) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *PipelineJob) GetReservedIpRanges() []string { + if x != nil { + return x.ReservedIpRanges + } + return nil +} + +func (x *PipelineJob) GetTemplateUri() string { + if x != nil { + return x.TemplateUri + } + return "" +} + +func (x *PipelineJob) GetTemplateMetadata() *PipelineTemplateMetadata { + if x != nil { + return x.TemplateMetadata + } + return nil +} + +func (x *PipelineJob) GetScheduleName() string { + if x != nil { + return x.ScheduleName + } + return "" +} + +// Pipeline template metadata if +// [PipelineJob.template_uri][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.template_uri] +// is from supported template registry. Currently, the only supported registry +// is Artifact Registry. +type PipelineTemplateMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The version_name in artifact registry. + // + // Will always be presented in output if the + // [PipelineJob.template_uri][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.template_uri] + // is from supported template registry. + // + // Format is "sha256:abcdef123456...". + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PipelineTemplateMetadata) Reset() { + *x = PipelineTemplateMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTemplateMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTemplateMetadata) ProtoMessage() {} + +func (x *PipelineTemplateMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[1] + 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 PipelineTemplateMetadata.ProtoReflect.Descriptor instead. +func (*PipelineTemplateMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{1} +} + +func (x *PipelineTemplateMetadata) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// The runtime detail of PipelineJob. +type PipelineJobDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The context of the pipeline. + PipelineContext *Context `protobuf:"bytes,1,opt,name=pipeline_context,json=pipelineContext,proto3" json:"pipeline_context,omitempty"` + // Output only. The context of the current pipeline run. + PipelineRunContext *Context `protobuf:"bytes,2,opt,name=pipeline_run_context,json=pipelineRunContext,proto3" json:"pipeline_run_context,omitempty"` + // Output only. The runtime details of the tasks under the pipeline. + TaskDetails []*PipelineTaskDetail `protobuf:"bytes,3,rep,name=task_details,json=taskDetails,proto3" json:"task_details,omitempty"` +} + +func (x *PipelineJobDetail) Reset() { + *x = PipelineJobDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineJobDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineJobDetail) ProtoMessage() {} + +func (x *PipelineJobDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_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 PipelineJobDetail.ProtoReflect.Descriptor instead. +func (*PipelineJobDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{2} +} + +func (x *PipelineJobDetail) GetPipelineContext() *Context { + if x != nil { + return x.PipelineContext + } + return nil +} + +func (x *PipelineJobDetail) GetPipelineRunContext() *Context { + if x != nil { + return x.PipelineRunContext + } + return nil +} + +func (x *PipelineJobDetail) GetTaskDetails() []*PipelineTaskDetail { + if x != nil { + return x.TaskDetails + } + return nil +} + +// The runtime detail of a task execution. +type PipelineTaskDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The system generated ID of the task. + TaskId int64 `protobuf:"varint,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` + // Output only. The id of the parent task if the task is within a component + // scope. Empty if the task is at the root level. + ParentTaskId int64 `protobuf:"varint,12,opt,name=parent_task_id,json=parentTaskId,proto3" json:"parent_task_id,omitempty"` + // Output only. The user specified name of the task that is defined in + // [pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec]. + TaskName string `protobuf:"bytes,2,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` + // Output only. Task create time. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Task start time. + StartTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Task end time. + EndTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The detailed execution info. + ExecutorDetail *PipelineTaskExecutorDetail `protobuf:"bytes,6,opt,name=executor_detail,json=executorDetail,proto3" json:"executor_detail,omitempty"` + // Output only. State of the task. + State PipelineTaskDetail_State `protobuf:"varint,7,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail_State" json:"state,omitempty"` + // Output only. The execution metadata of the task. + Execution *Execution `protobuf:"bytes,8,opt,name=execution,proto3" json:"execution,omitempty"` + // Output only. The error that occurred during task execution. + // Only populated when the task's state is FAILED or CANCELLED. + Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"` + // Output only. A list of task status. This field keeps a record of task + // status evolving over time. + PipelineTaskStatus []*PipelineTaskDetail_PipelineTaskStatus `protobuf:"bytes,13,rep,name=pipeline_task_status,json=pipelineTaskStatus,proto3" json:"pipeline_task_status,omitempty"` + // Output only. The runtime input artifacts of the task. + Inputs map[string]*PipelineTaskDetail_ArtifactList `protobuf:"bytes,10,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. The runtime output artifacts of the task. + Outputs map[string]*PipelineTaskDetail_ArtifactList `protobuf:"bytes,11,rep,name=outputs,proto3" json:"outputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PipelineTaskDetail) Reset() { + *x = PipelineTaskDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskDetail) ProtoMessage() {} + +func (x *PipelineTaskDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[3] + 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 PipelineTaskDetail.ProtoReflect.Descriptor instead. +func (*PipelineTaskDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{3} +} + +func (x *PipelineTaskDetail) GetTaskId() int64 { + if x != nil { + return x.TaskId + } + return 0 +} + +func (x *PipelineTaskDetail) GetParentTaskId() int64 { + if x != nil { + return x.ParentTaskId + } + return 0 +} + +func (x *PipelineTaskDetail) GetTaskName() string { + if x != nil { + return x.TaskName + } + return "" +} + +func (x *PipelineTaskDetail) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PipelineTaskDetail) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *PipelineTaskDetail) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *PipelineTaskDetail) GetExecutorDetail() *PipelineTaskExecutorDetail { + if x != nil { + return x.ExecutorDetail + } + return nil +} + +func (x *PipelineTaskDetail) GetState() PipelineTaskDetail_State { + if x != nil { + return x.State + } + return PipelineTaskDetail_STATE_UNSPECIFIED +} + +func (x *PipelineTaskDetail) GetExecution() *Execution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *PipelineTaskDetail) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *PipelineTaskDetail) GetPipelineTaskStatus() []*PipelineTaskDetail_PipelineTaskStatus { + if x != nil { + return x.PipelineTaskStatus + } + return nil +} + +func (x *PipelineTaskDetail) GetInputs() map[string]*PipelineTaskDetail_ArtifactList { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *PipelineTaskDetail) GetOutputs() map[string]*PipelineTaskDetail_ArtifactList { + if x != nil { + return x.Outputs + } + return nil +} + +// The runtime detail of a pipeline executor. +type PipelineTaskExecutorDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Details: + // + // *PipelineTaskExecutorDetail_ContainerDetail_ + // *PipelineTaskExecutorDetail_CustomJobDetail_ + Details isPipelineTaskExecutorDetail_Details `protobuf_oneof:"details"` +} + +func (x *PipelineTaskExecutorDetail) Reset() { + *x = PipelineTaskExecutorDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskExecutorDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskExecutorDetail) ProtoMessage() {} + +func (x *PipelineTaskExecutorDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[4] + 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 PipelineTaskExecutorDetail.ProtoReflect.Descriptor instead. +func (*PipelineTaskExecutorDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{4} +} + +func (m *PipelineTaskExecutorDetail) GetDetails() isPipelineTaskExecutorDetail_Details { + if m != nil { + return m.Details + } + return nil +} + +func (x *PipelineTaskExecutorDetail) GetContainerDetail() *PipelineTaskExecutorDetail_ContainerDetail { + if x, ok := x.GetDetails().(*PipelineTaskExecutorDetail_ContainerDetail_); ok { + return x.ContainerDetail + } + return nil +} + +func (x *PipelineTaskExecutorDetail) GetCustomJobDetail() *PipelineTaskExecutorDetail_CustomJobDetail { + if x, ok := x.GetDetails().(*PipelineTaskExecutorDetail_CustomJobDetail_); ok { + return x.CustomJobDetail + } + return nil +} + +type isPipelineTaskExecutorDetail_Details interface { + isPipelineTaskExecutorDetail_Details() +} + +type PipelineTaskExecutorDetail_ContainerDetail_ struct { + // Output only. The detailed info for a container executor. + ContainerDetail *PipelineTaskExecutorDetail_ContainerDetail `protobuf:"bytes,1,opt,name=container_detail,json=containerDetail,proto3,oneof"` +} + +type PipelineTaskExecutorDetail_CustomJobDetail_ struct { + // Output only. The detailed info for a custom job executor. + CustomJobDetail *PipelineTaskExecutorDetail_CustomJobDetail `protobuf:"bytes,2,opt,name=custom_job_detail,json=customJobDetail,proto3,oneof"` +} + +func (*PipelineTaskExecutorDetail_ContainerDetail_) isPipelineTaskExecutorDetail_Details() {} + +func (*PipelineTaskExecutorDetail_CustomJobDetail_) isPipelineTaskExecutorDetail_Details() {} + +// The runtime config of a PipelineJob. +type PipelineJob_RuntimeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated. Use + // [RuntimeConfig.parameter_values][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.parameter_values] + // instead. The runtime parameters of the PipelineJob. The parameters will + // be passed into + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] + // to replace the placeholders at runtime. This field is used by pipelines + // built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, + // such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + // + // Deprecated: Do not use. + Parameters map[string]*Value `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. A path in a Cloud Storage bucket, which will be treated as the + // root output directory of the pipeline. It is used by the system to + // generate the paths of output artifacts. The artifact paths are generated + // with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the + // specified output directory. The service account specified in this + // pipeline must have the `storage.objects.get` and `storage.objects.create` + // permissions for this bucket. + GcsOutputDirectory string `protobuf:"bytes,2,opt,name=gcs_output_directory,json=gcsOutputDirectory,proto3" json:"gcs_output_directory,omitempty"` + // The runtime parameters of the PipelineJob. The parameters will be + // passed into + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] + // to replace the placeholders at runtime. This field is used by pipelines + // built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as + // pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 + // DSL. + ParameterValues map[string]*_struct.Value `protobuf:"bytes,3,rep,name=parameter_values,json=parameterValues,proto3" json:"parameter_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Represents the failure policy of a pipeline. Currently, the default of a + // pipeline is that the pipeline will continue to run until no more tasks + // can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. + // However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it + // will stop scheduling any new tasks when a task has failed. Any scheduled + // tasks will continue to completion. + FailurePolicy PipelineFailurePolicy `protobuf:"varint,4,opt,name=failure_policy,json=failurePolicy,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PipelineFailurePolicy" json:"failure_policy,omitempty"` + // The runtime artifacts of the PipelineJob. The key will be the input + // artifact name and the value would be one of the InputArtifact. + InputArtifacts map[string]*PipelineJob_RuntimeConfig_InputArtifact `protobuf:"bytes,5,rep,name=input_artifacts,json=inputArtifacts,proto3" json:"input_artifacts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PipelineJob_RuntimeConfig) Reset() { + *x = PipelineJob_RuntimeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineJob_RuntimeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineJob_RuntimeConfig) ProtoMessage() {} + +func (x *PipelineJob_RuntimeConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[5] + 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 PipelineJob_RuntimeConfig.ProtoReflect.Descriptor instead. +func (*PipelineJob_RuntimeConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{0, 0} +} + +// Deprecated: Do not use. +func (x *PipelineJob_RuntimeConfig) GetParameters() map[string]*Value { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *PipelineJob_RuntimeConfig) GetGcsOutputDirectory() string { + if x != nil { + return x.GcsOutputDirectory + } + return "" +} + +func (x *PipelineJob_RuntimeConfig) GetParameterValues() map[string]*_struct.Value { + if x != nil { + return x.ParameterValues + } + return nil +} + +func (x *PipelineJob_RuntimeConfig) GetFailurePolicy() PipelineFailurePolicy { + if x != nil { + return x.FailurePolicy + } + return PipelineFailurePolicy_PIPELINE_FAILURE_POLICY_UNSPECIFIED +} + +func (x *PipelineJob_RuntimeConfig) GetInputArtifacts() map[string]*PipelineJob_RuntimeConfig_InputArtifact { + if x != nil { + return x.InputArtifacts + } + return nil +} + +// The type of an input artifact. +type PipelineJob_RuntimeConfig_InputArtifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Kind: + // + // *PipelineJob_RuntimeConfig_InputArtifact_ArtifactId + Kind isPipelineJob_RuntimeConfig_InputArtifact_Kind `protobuf_oneof:"kind"` +} + +func (x *PipelineJob_RuntimeConfig_InputArtifact) Reset() { + *x = PipelineJob_RuntimeConfig_InputArtifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineJob_RuntimeConfig_InputArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineJob_RuntimeConfig_InputArtifact) ProtoMessage() {} + +func (x *PipelineJob_RuntimeConfig_InputArtifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[7] + 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 PipelineJob_RuntimeConfig_InputArtifact.ProtoReflect.Descriptor instead. +func (*PipelineJob_RuntimeConfig_InputArtifact) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{0, 0, 0} +} + +func (m *PipelineJob_RuntimeConfig_InputArtifact) GetKind() isPipelineJob_RuntimeConfig_InputArtifact_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *PipelineJob_RuntimeConfig_InputArtifact) GetArtifactId() string { + if x, ok := x.GetKind().(*PipelineJob_RuntimeConfig_InputArtifact_ArtifactId); ok { + return x.ArtifactId + } + return "" +} + +type isPipelineJob_RuntimeConfig_InputArtifact_Kind interface { + isPipelineJob_RuntimeConfig_InputArtifact_Kind() +} + +type PipelineJob_RuntimeConfig_InputArtifact_ArtifactId struct { + // Artifact resource id from MLMD. Which is the last portion of an + // artifact resource name: + // `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. + // The artifact must stay within the same project, location and default + // metadatastore as the pipeline. + ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3,oneof"` +} + +func (*PipelineJob_RuntimeConfig_InputArtifact_ArtifactId) isPipelineJob_RuntimeConfig_InputArtifact_Kind() { +} + +// A single record of the task status. +type PipelineTaskDetail_PipelineTaskStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Update time of this status. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The state of the task. + State PipelineTaskDetail_State `protobuf:"varint,2,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail_State" json:"state,omitempty"` + // Output only. The error that occurred during the state. May be set when + // the state is any of the non-final state (PENDING/RUNNING/CANCELLING) or + // FAILED state. If the state is FAILED, the error here is final and not + // going to be retried. If the state is a non-final state, the error + // indicates a system-error being retried. + Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *PipelineTaskDetail_PipelineTaskStatus) Reset() { + *x = PipelineTaskDetail_PipelineTaskStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskDetail_PipelineTaskStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskDetail_PipelineTaskStatus) ProtoMessage() {} + +func (x *PipelineTaskDetail_PipelineTaskStatus) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[11] + 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 PipelineTaskDetail_PipelineTaskStatus.ProtoReflect.Descriptor instead. +func (*PipelineTaskDetail_PipelineTaskStatus) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *PipelineTaskDetail_PipelineTaskStatus) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PipelineTaskDetail_PipelineTaskStatus) GetState() PipelineTaskDetail_State { + if x != nil { + return x.State + } + return PipelineTaskDetail_STATE_UNSPECIFIED +} + +func (x *PipelineTaskDetail_PipelineTaskStatus) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +// A list of artifact metadata. +type PipelineTaskDetail_ArtifactList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. A list of artifact metadata. + Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` +} + +func (x *PipelineTaskDetail_ArtifactList) Reset() { + *x = PipelineTaskDetail_ArtifactList{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskDetail_ArtifactList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskDetail_ArtifactList) ProtoMessage() {} + +func (x *PipelineTaskDetail_ArtifactList) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[12] + 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 PipelineTaskDetail_ArtifactList.ProtoReflect.Descriptor instead. +func (*PipelineTaskDetail_ArtifactList) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *PipelineTaskDetail_ArtifactList) GetArtifacts() []*Artifact { + if x != nil { + return x.Artifacts + } + return nil +} + +// The detail of a container execution. It contains the job names of the +// lifecycle of a container execution. +type PipelineTaskExecutorDetail_ContainerDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob] for the main + // container execution. + MainJob string `protobuf:"bytes,1,opt,name=main_job,json=mainJob,proto3" json:"main_job,omitempty"` + // Output only. The name of the + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob] for the + // pre-caching-check container execution. This job will be available if the + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] + // specifies the `pre_caching_check` hook in the lifecycle events. + PreCachingCheckJob string `protobuf:"bytes,2,opt,name=pre_caching_check_job,json=preCachingCheckJob,proto3" json:"pre_caching_check_job,omitempty"` + // Output only. The names of the previously failed + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob] for the main + // container executions. The list includes the all attempts in chronological + // order. + FailedMainJobs []string `protobuf:"bytes,3,rep,name=failed_main_jobs,json=failedMainJobs,proto3" json:"failed_main_jobs,omitempty"` + // Output only. The names of the previously failed + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob] for the + // pre-caching-check container executions. This job will be available if the + // [PipelineJob.pipeline_spec][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] + // specifies the `pre_caching_check` hook in the lifecycle events. The list + // includes the all attempts in chronological order. + FailedPreCachingCheckJobs []string `protobuf:"bytes,4,rep,name=failed_pre_caching_check_jobs,json=failedPreCachingCheckJobs,proto3" json:"failed_pre_caching_check_jobs,omitempty"` +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) Reset() { + *x = PipelineTaskExecutorDetail_ContainerDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskExecutorDetail_ContainerDetail) ProtoMessage() {} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_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 PipelineTaskExecutorDetail_ContainerDetail.ProtoReflect.Descriptor instead. +func (*PipelineTaskExecutorDetail_ContainerDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) GetMainJob() string { + if x != nil { + return x.MainJob + } + return "" +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) GetPreCachingCheckJob() string { + if x != nil { + return x.PreCachingCheckJob + } + return "" +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) GetFailedMainJobs() []string { + if x != nil { + return x.FailedMainJobs + } + return nil +} + +func (x *PipelineTaskExecutorDetail_ContainerDetail) GetFailedPreCachingCheckJobs() []string { + if x != nil { + return x.FailedPreCachingCheckJobs + } + return nil +} + +// The detailed info for a custom job executor. +type PipelineTaskExecutorDetail_CustomJobDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob]. + Job string `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` + // Output only. The names of the previously failed + // [CustomJob][mockgcp.cloud.aiplatform.v1beta1.CustomJob]. The list includes + // the all attempts in chronological order. + FailedJobs []string `protobuf:"bytes,3,rep,name=failed_jobs,json=failedJobs,proto3" json:"failed_jobs,omitempty"` +} + +func (x *PipelineTaskExecutorDetail_CustomJobDetail) Reset() { + *x = PipelineTaskExecutorDetail_CustomJobDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PipelineTaskExecutorDetail_CustomJobDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PipelineTaskExecutorDetail_CustomJobDetail) ProtoMessage() {} + +func (x *PipelineTaskExecutorDetail_CustomJobDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[16] + 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 PipelineTaskExecutorDetail_CustomJobDetail.ProtoReflect.Descriptor instead. +func (*PipelineTaskExecutorDetail_CustomJobDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *PipelineTaskExecutorDetail_CustomJobDetail) GetJob() string { + if x != nil { + return x.Job + } + return "" +} + +func (x *PipelineTaskExecutorDetail_CustomJobDetail) GetFailedJobs() []string { + if x != nil { + return x.FailedJobs + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x12, 0x0a, 0x0b, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x62, 0x0a, 0x0e, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x59, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, + 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x55, 0x72, 0x69, 0x12, 0x6c, 0x0a, 0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x10, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x9d, 0x07, 0x0a, + 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, + 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, + 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x35, 0x0a, 0x14, 0x67, 0x63, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x67, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x7b, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x2e, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x78, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x1a, 0x3a, 0x0a, + 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, + 0x64, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x66, 0x0a, 0x0f, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x5a, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x8c, 0x01, + 0x0a, 0x13, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x25, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x4a, 0x6f, 0x62, 0x12, 0x43, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x34, 0x0a, 0x18, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, + 0x02, 0x0a, 0x11, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x12, 0x59, 0x0a, 0x10, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x60, 0x0a, 0x14, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0x5c, 0x0a, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, + 0xa4, 0x0d, 0x0a, 0x12, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, + 0x73, 0x6b, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3e, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3a, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x6a, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x55, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x7e, 0x0a, 0x14, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x61, + 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x70, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x5d, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x12, 0x60, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x1a, 0xdc, 0x01, 0x0a, 0x12, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x1a, 0x5d, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x4d, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x1a, 0x7c, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x57, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7d, + 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x57, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, + 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, + 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x4e, 0x43, 0x45, + 0x4c, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, + 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, + 0x44, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, + 0x45, 0x52, 0x45, 0x44, 0x10, 0x09, 0x22, 0xd2, 0x05, 0x0a, 0x1a, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x7e, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x7f, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0xaf, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x46, 0x0a, 0x08, 0x6d, 0x61, + 0x69, 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, + 0x03, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x6d, 0x61, 0x69, 0x6e, 0x4a, + 0x6f, 0x62, 0x12, 0x5e, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x12, + 0x70, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4a, + 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, + 0x73, 0x12, 0x45, 0x0a, 0x1d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6a, 0x6f, + 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x66, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x73, 0x1a, 0x76, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3d, 0x0a, 0x03, 0x6a, + 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x73, + 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0xb1, 0x02, 0x0a, 0x24, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x01, + 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x41, + 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_goTypes = []interface{}{ + (PipelineTaskDetail_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.State + (*PipelineJob)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.PipelineJob + (*PipelineTemplateMetadata)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.PipelineTemplateMetadata + (*PipelineJobDetail)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.PipelineJobDetail + (*PipelineTaskDetail)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail + (*PipelineTaskExecutorDetail)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail + (*PipelineJob_RuntimeConfig)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig + nil, // 7: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.LabelsEntry + (*PipelineJob_RuntimeConfig_InputArtifact)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.InputArtifact + nil, // 9: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParametersEntry + nil, // 10: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParameterValuesEntry + nil, // 11: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.InputArtifactsEntry + (*PipelineTaskDetail_PipelineTaskStatus)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.PipelineTaskStatus + (*PipelineTaskDetail_ArtifactList)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.ArtifactList + nil, // 14: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.InputsEntry + nil, // 15: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.OutputsEntry + (*PipelineTaskExecutorDetail_ContainerDetail)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.ContainerDetail + (*PipelineTaskExecutorDetail_CustomJobDetail)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.CustomJobDetail + (*timestamp.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*_struct.Struct)(nil), // 19: google.protobuf.Struct + (PipelineState)(0), // 20: mockgcp.cloud.aiplatform.v1beta1.PipelineState + (*status.Status)(nil), // 21: google.rpc.Status + (*EncryptionSpec)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*Context)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.Context + (*Execution)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.Execution + (PipelineFailurePolicy)(0), // 25: mockgcp.cloud.aiplatform.v1beta1.PipelineFailurePolicy + (*Value)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.Value + (*_struct.Value)(nil), // 27: google.protobuf.Value + (*Artifact)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.Artifact +} +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_depIdxs = []int32{ + 18, // 0: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.create_time:type_name -> google.protobuf.Timestamp + 18, // 1: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.start_time:type_name -> google.protobuf.Timestamp + 18, // 2: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.end_time:type_name -> google.protobuf.Timestamp + 18, // 3: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.update_time:type_name -> google.protobuf.Timestamp + 19, // 4: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec:type_name -> google.protobuf.Struct + 20, // 5: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineState + 3, // 6: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.job_detail:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJobDetail + 21, // 7: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.error:type_name -> google.rpc.Status + 7, // 8: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.LabelsEntry + 6, // 9: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.runtime_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig + 22, // 10: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 2, // 11: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.template_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTemplateMetadata + 23, // 12: mockgcp.cloud.aiplatform.v1beta1.PipelineJobDetail.pipeline_context:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context + 23, // 13: mockgcp.cloud.aiplatform.v1beta1.PipelineJobDetail.pipeline_run_context:type_name -> mockgcp.cloud.aiplatform.v1beta1.Context + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.PipelineJobDetail.task_details:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail + 18, // 15: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.create_time:type_name -> google.protobuf.Timestamp + 18, // 16: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.start_time:type_name -> google.protobuf.Timestamp + 18, // 17: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.end_time:type_name -> google.protobuf.Timestamp + 5, // 18: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.executor_detail:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail + 0, // 19: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.State + 24, // 20: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.execution:type_name -> mockgcp.cloud.aiplatform.v1beta1.Execution + 21, // 21: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.error:type_name -> google.rpc.Status + 12, // 22: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.pipeline_task_status:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.PipelineTaskStatus + 14, // 23: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.InputsEntry + 15, // 24: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.outputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.OutputsEntry + 16, // 25: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.container_detail:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.ContainerDetail + 17, // 26: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.custom_job_detail:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskExecutorDetail.CustomJobDetail + 9, // 27: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParametersEntry + 10, // 28: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.parameter_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParameterValuesEntry + 25, // 29: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.failure_policy:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineFailurePolicy + 11, // 30: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.input_artifacts:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.InputArtifactsEntry + 26, // 31: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParametersEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.Value + 27, // 32: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.ParameterValuesEntry.value:type_name -> google.protobuf.Value + 8, // 33: mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.InputArtifactsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.InputArtifact + 18, // 34: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.PipelineTaskStatus.update_time:type_name -> google.protobuf.Timestamp + 0, // 35: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.PipelineTaskStatus.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.State + 21, // 36: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.PipelineTaskStatus.error:type_name -> google.rpc.Status + 28, // 37: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.ArtifactList.artifacts:type_name -> mockgcp.cloud.aiplatform.v1beta1.Artifact + 13, // 38: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.InputsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.ArtifactList + 13, // 39: mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.OutputsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineTaskDetail.ArtifactList + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_artifact_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_context_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_execution_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_failure_policy_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_value_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTemplateMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineJobDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskExecutorDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineJob_RuntimeConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineJob_RuntimeConfig_InputArtifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskDetail_PipelineTaskStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskDetail_ArtifactList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskExecutorDetail_ContainerDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PipelineTaskExecutorDetail_CustomJobDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*PipelineTaskExecutorDetail_ContainerDetail_)(nil), + (*PipelineTaskExecutorDetail_CustomJobDetail_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*PipelineJob_RuntimeConfig_InputArtifact_ArtifactId)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDesc, + NumEnums: 1, + NumMessages: 17, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.go new file mode 100644 index 0000000000..c6383b14f2 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.go @@ -0,0 +1,1861 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + empty "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Runtime operation information for +// [PipelineService.BatchCancelPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs]. +type BatchCancelPipelineJobsOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The common part of the operation metadata. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *BatchCancelPipelineJobsOperationMetadata) Reset() { + *x = BatchCancelPipelineJobsOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCancelPipelineJobsOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCancelPipelineJobsOperationMetadata) ProtoMessage() {} + +func (x *BatchCancelPipelineJobsOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[0] + 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 BatchCancelPipelineJobsOperationMetadata.ProtoReflect.Descriptor instead. +func (*BatchCancelPipelineJobsOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{0} +} + +func (x *BatchCancelPipelineJobsOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [PipelineService.CreateTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline]. +type CreateTrainingPipelineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the TrainingPipeline + // in. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The TrainingPipeline to create. + TrainingPipeline *TrainingPipeline `protobuf:"bytes,2,opt,name=training_pipeline,json=trainingPipeline,proto3" json:"training_pipeline,omitempty"` +} + +func (x *CreateTrainingPipelineRequest) Reset() { + *x = CreateTrainingPipelineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTrainingPipelineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTrainingPipelineRequest) ProtoMessage() {} + +func (x *CreateTrainingPipelineRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[1] + 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 CreateTrainingPipelineRequest.ProtoReflect.Descriptor instead. +func (*CreateTrainingPipelineRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateTrainingPipelineRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateTrainingPipelineRequest) GetTrainingPipeline() *TrainingPipeline { + if x != nil { + return x.TrainingPipeline + } + return nil +} + +// Request message for +// [PipelineService.GetTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline]. +type GetTrainingPipelineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TrainingPipeline resource. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetTrainingPipelineRequest) Reset() { + *x = GetTrainingPipelineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTrainingPipelineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTrainingPipelineRequest) ProtoMessage() {} + +func (x *GetTrainingPipelineRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_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 GetTrainingPipelineRequest.ProtoReflect.Descriptor instead. +func (*GetTrainingPipelineRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetTrainingPipelineRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.ListTrainingPipelines][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines]. +type ListTrainingPipelinesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the TrainingPipelines + // from. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list filter. + // + // Supported fields: + // + // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. + // - `state` supports `=`, `!=` comparisons. + // - `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. + // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. + // `create_time` must be in RFC 3339 format. + // - `labels` supports general map functions that is: + // `labels.key=value` - key:value equality + // `labels.key:* - key existence + // + // Some examples of using the filter are: + // + // - `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` + // - `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` + // - `NOT display_name="my_pipeline"` + // - `create_time>"2021-05-18T00:00:00Z"` + // - `training_task_definition:"*automl_text_classification*"` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListTrainingPipelinesResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesResponse.next_page_token] + // of the previous + // [PipelineService.ListTrainingPipelines][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListTrainingPipelinesRequest) Reset() { + *x = ListTrainingPipelinesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTrainingPipelinesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTrainingPipelinesRequest) ProtoMessage() {} + +func (x *ListTrainingPipelinesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[3] + 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 ListTrainingPipelinesRequest.ProtoReflect.Descriptor instead. +func (*ListTrainingPipelinesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListTrainingPipelinesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListTrainingPipelinesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListTrainingPipelinesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListTrainingPipelinesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListTrainingPipelinesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [PipelineService.ListTrainingPipelines][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines] +type ListTrainingPipelinesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of TrainingPipelines in the requested page. + TrainingPipelines []*TrainingPipeline `protobuf:"bytes,1,rep,name=training_pipelines,json=trainingPipelines,proto3" json:"training_pipelines,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListTrainingPipelinesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListTrainingPipelinesResponse) Reset() { + *x = ListTrainingPipelinesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTrainingPipelinesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTrainingPipelinesResponse) ProtoMessage() {} + +func (x *ListTrainingPipelinesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[4] + 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 ListTrainingPipelinesResponse.ProtoReflect.Descriptor instead. +func (*ListTrainingPipelinesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListTrainingPipelinesResponse) GetTrainingPipelines() []*TrainingPipeline { + if x != nil { + return x.TrainingPipelines + } + return nil +} + +func (x *ListTrainingPipelinesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [PipelineService.DeleteTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline]. +type DeleteTrainingPipelineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TrainingPipeline resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteTrainingPipelineRequest) Reset() { + *x = DeleteTrainingPipelineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTrainingPipelineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTrainingPipelineRequest) ProtoMessage() {} + +func (x *DeleteTrainingPipelineRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[5] + 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 DeleteTrainingPipelineRequest.ProtoReflect.Descriptor instead. +func (*DeleteTrainingPipelineRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteTrainingPipelineRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.CancelTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline]. +type CancelTrainingPipelineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TrainingPipeline to cancel. + // Format: + // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelTrainingPipelineRequest) Reset() { + *x = CancelTrainingPipelineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelTrainingPipelineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelTrainingPipelineRequest) ProtoMessage() {} + +func (x *CancelTrainingPipelineRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_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 CancelTrainingPipelineRequest.ProtoReflect.Descriptor instead. +func (*CancelTrainingPipelineRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{6} +} + +func (x *CancelTrainingPipelineRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.CreatePipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob]. +type CreatePipelineJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the PipelineJob in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The PipelineJob to create. + PipelineJob *PipelineJob `protobuf:"bytes,2,opt,name=pipeline_job,json=pipelineJob,proto3" json:"pipeline_job,omitempty"` + // The ID to use for the PipelineJob, which will become the final component of + // the PipelineJob name. If not provided, an ID will be automatically + // generated. + // + // This value should be less than 128 characters, and valid characters + // are `/[a-z][0-9]-/`. + PipelineJobId string `protobuf:"bytes,3,opt,name=pipeline_job_id,json=pipelineJobId,proto3" json:"pipeline_job_id,omitempty"` + // Optional. Whether to do component level validations before job creation. + // Currently we only support Google First Party Component/Pipelines. + PreflightValidations bool `protobuf:"varint,4,opt,name=preflight_validations,json=preflightValidations,proto3" json:"preflight_validations,omitempty"` +} + +func (x *CreatePipelineJobRequest) Reset() { + *x = CreatePipelineJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePipelineJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePipelineJobRequest) ProtoMessage() {} + +func (x *CreatePipelineJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[7] + 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 CreatePipelineJobRequest.ProtoReflect.Descriptor instead. +func (*CreatePipelineJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{7} +} + +func (x *CreatePipelineJobRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreatePipelineJobRequest) GetPipelineJob() *PipelineJob { + if x != nil { + return x.PipelineJob + } + return nil +} + +func (x *CreatePipelineJobRequest) GetPipelineJobId() string { + if x != nil { + return x.PipelineJobId + } + return "" +} + +func (x *CreatePipelineJobRequest) GetPreflightValidations() bool { + if x != nil { + return x.PreflightValidations + } + return false +} + +// Request message for +// [PipelineService.GetPipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob]. +type GetPipelineJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PipelineJob resource. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetPipelineJobRequest) Reset() { + *x = GetPipelineJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPipelineJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPipelineJobRequest) ProtoMessage() {} + +func (x *GetPipelineJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_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 GetPipelineJobRequest.ProtoReflect.Descriptor instead. +func (*GetPipelineJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{8} +} + +func (x *GetPipelineJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.ListPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs]. +type ListPipelineJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the PipelineJobs from. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the PipelineJobs that match the filter expression. The following + // fields are supported: + // + // - `pipeline_name`: Supports `=` and `!=` comparisons. + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. + // for example, can check if pipeline's display_name contains *step* by + // doing display_name:\"*step*\" + // - `state`: Supports `=` and `!=` comparisons. + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `labels`: Supports key-value equality and key presence. + // - `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` + // wildcard. + // + // Filter expressions can be combined together using logical operators + // (`AND` & `OR`). + // For example: `pipeline_name="test" AND create_time>"2020-05-18T13:30:00Z"`. + // + // The syntax to define filter expression is based on + // https://google.aip.dev/160. + // + // Examples: + // + // - `create_time>"2021-05-18T00:00:00Z" OR + // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated + // after 2020-05-18 00:00:00 UTC. + // - `labels.env = "prod"` + // PipelineJobs with label "env" set to "prod". + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListPipelineJobsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsResponse.next_page_token] + // of the previous + // [PipelineService.ListPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by. The default sort order is in + // ascending order. Use "desc" after a field name for descending. You can have + // multiple order_by fields provided e.g. "create_time desc, end_time", + // "end_time, start_time, update_time" For example, using "create_time desc, + // end_time" will order results by create time in descending order, and if + // there are multiple jobs having the same create time, order them by the end + // time in ascending order. if order_by is not specified, it will order by + // default order is create time in descending order. Supported fields: + // + // - `create_time` + // - `update_time` + // - `end_time` + // - `start_time` + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,7,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListPipelineJobsRequest) Reset() { + *x = ListPipelineJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPipelineJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPipelineJobsRequest) ProtoMessage() {} + +func (x *ListPipelineJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[9] + 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 ListPipelineJobsRequest.ProtoReflect.Descriptor instead. +func (*ListPipelineJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListPipelineJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPipelineJobsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListPipelineJobsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPipelineJobsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListPipelineJobsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListPipelineJobsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [PipelineService.ListPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs] +type ListPipelineJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of PipelineJobs in the requested page. + PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListPipelineJobsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPipelineJobsResponse) Reset() { + *x = ListPipelineJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPipelineJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPipelineJobsResponse) ProtoMessage() {} + +func (x *ListPipelineJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[10] + 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 ListPipelineJobsResponse.ProtoReflect.Descriptor instead. +func (*ListPipelineJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListPipelineJobsResponse) GetPipelineJobs() []*PipelineJob { + if x != nil { + return x.PipelineJobs + } + return nil +} + +func (x *ListPipelineJobsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [PipelineService.DeletePipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob]. +type DeletePipelineJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PipelineJob resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeletePipelineJobRequest) Reset() { + *x = DeletePipelineJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePipelineJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePipelineJobRequest) ProtoMessage() {} + +func (x *DeletePipelineJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[11] + 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 DeletePipelineJobRequest.ProtoReflect.Descriptor instead. +func (*DeletePipelineJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{11} +} + +func (x *DeletePipelineJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.BatchDeletePipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs]. +type BatchDeletePipelineJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PipelineJobs' parent resource. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The names of the PipelineJobs to delete. + // A maximum of 32 PipelineJobs can be deleted in a batch. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *BatchDeletePipelineJobsRequest) Reset() { + *x = BatchDeletePipelineJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchDeletePipelineJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchDeletePipelineJobsRequest) ProtoMessage() {} + +func (x *BatchDeletePipelineJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[12] + 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 BatchDeletePipelineJobsRequest.ProtoReflect.Descriptor instead. +func (*BatchDeletePipelineJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{12} +} + +func (x *BatchDeletePipelineJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchDeletePipelineJobsRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +// Response message for +// [PipelineService.BatchDeletePipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs]. +type BatchDeletePipelineJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // PipelineJobs deleted. + PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` +} + +func (x *BatchDeletePipelineJobsResponse) Reset() { + *x = BatchDeletePipelineJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchDeletePipelineJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchDeletePipelineJobsResponse) ProtoMessage() {} + +func (x *BatchDeletePipelineJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[13] + 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 BatchDeletePipelineJobsResponse.ProtoReflect.Descriptor instead. +func (*BatchDeletePipelineJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{13} +} + +func (x *BatchDeletePipelineJobsResponse) GetPipelineJobs() []*PipelineJob { + if x != nil { + return x.PipelineJobs + } + return nil +} + +// Request message for +// [PipelineService.CancelPipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob]. +type CancelPipelineJobRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PipelineJob to cancel. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *CancelPipelineJobRequest) Reset() { + *x = CancelPipelineJobRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelPipelineJobRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelPipelineJobRequest) ProtoMessage() {} + +func (x *CancelPipelineJobRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[14] + 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 CancelPipelineJobRequest.ProtoReflect.Descriptor instead. +func (*CancelPipelineJobRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{14} +} + +func (x *CancelPipelineJobRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [PipelineService.BatchCancelPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs]. +type BatchCancelPipelineJobsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PipelineJobs' parent resource. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The names of the PipelineJobs to cancel. + // A maximum of 32 PipelineJobs can be cancelled in a batch. + // Format: + // `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *BatchCancelPipelineJobsRequest) Reset() { + *x = BatchCancelPipelineJobsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCancelPipelineJobsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCancelPipelineJobsRequest) ProtoMessage() {} + +func (x *BatchCancelPipelineJobsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_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 BatchCancelPipelineJobsRequest.ProtoReflect.Descriptor instead. +func (*BatchCancelPipelineJobsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{15} +} + +func (x *BatchCancelPipelineJobsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCancelPipelineJobsRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +// Response message for +// [PipelineService.BatchCancelPipelineJobs][mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs]. +type BatchCancelPipelineJobsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // PipelineJobs cancelled. + PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` +} + +func (x *BatchCancelPipelineJobsResponse) Reset() { + *x = BatchCancelPipelineJobsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCancelPipelineJobsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCancelPipelineJobsResponse) ProtoMessage() {} + +func (x *BatchCancelPipelineJobsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[16] + 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 BatchCancelPipelineJobsResponse.ProtoReflect.Descriptor instead. +func (*BatchCancelPipelineJobsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP(), []int{16} +} + +func (x *BatchCancelPipelineJobsResponse) GetPipelineJobs() []*PipelineJob { + if x != nil { + return x.PipelineJobs + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x33, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 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, 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, 0x22, 0x91, 0x01, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc8, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x11, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x12, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x11, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 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, 0x67, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x67, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, + 0x26, 0x0a, 0x0f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x66, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x70, 0x72, 0x65, + 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, + 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x84, 0x02, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, + 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x96, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, + 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 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, 0x5d, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, + 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a, + 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x75, 0x0a, 0x1f, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, + 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, + 0x62, 0x73, 0x22, 0x5d, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x22, 0x75, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x32, 0xcf, 0x16, 0x0a, 0x0f, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xff, 0x01, 0x0a, 0x16, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x70, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x3a, + 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0xda, 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0xd2, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0xe5, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xf6, 0x01, 0x0a, 0x16, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 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, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xc6, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x3f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 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, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, + 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf1, 0x01, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, + 0x6f, 0x62, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x22, 0x71, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x0c, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, + 0x2c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, + 0x4a, 0x6f, 0x62, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x22, 0x44, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xe7, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 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, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, + 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, + 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x95, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x40, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 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, 0x98, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0xca, 0x41, 0x3a, 0x0a, 0x1f, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb7, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, + 0x6f, 0x62, 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, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0xa6, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x40, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 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, 0xa9, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0xca, 0x41, 0x4b, 0x0a, + 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x14, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_goTypes = []interface{}{ + (*BatchCancelPipelineJobsOperationMetadata)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsOperationMetadata + (*CreateTrainingPipelineRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateTrainingPipelineRequest + (*GetTrainingPipelineRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetTrainingPipelineRequest + (*ListTrainingPipelinesRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesRequest + (*ListTrainingPipelinesResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesResponse + (*DeleteTrainingPipelineRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteTrainingPipelineRequest + (*CancelTrainingPipelineRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.CancelTrainingPipelineRequest + (*CreatePipelineJobRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.CreatePipelineJobRequest + (*GetPipelineJobRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.GetPipelineJobRequest + (*ListPipelineJobsRequest)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsRequest + (*ListPipelineJobsResponse)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsResponse + (*DeletePipelineJobRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.DeletePipelineJobRequest + (*BatchDeletePipelineJobsRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.BatchDeletePipelineJobsRequest + (*BatchDeletePipelineJobsResponse)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.BatchDeletePipelineJobsResponse + (*CancelPipelineJobRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.CancelPipelineJobRequest + (*BatchCancelPipelineJobsRequest)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsRequest + (*BatchCancelPipelineJobsResponse)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsResponse + (*GenericOperationMetadata)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*TrainingPipeline)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline + (*field_mask.FieldMask)(nil), // 19: google.protobuf.FieldMask + (*PipelineJob)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.PipelineJob + (*longrunningpb.Operation)(nil), // 21: google.longrunning.Operation + (*empty.Empty)(nil), // 22: google.protobuf.Empty +} +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_depIdxs = []int32{ + 17, // 0: mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 18, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateTrainingPipelineRequest.training_pipeline:type_name -> mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline + 19, // 2: mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesRequest.read_mask:type_name -> google.protobuf.FieldMask + 18, // 3: mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesResponse.training_pipelines:type_name -> mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline + 20, // 4: mockgcp.cloud.aiplatform.v1beta1.CreatePipelineJobRequest.pipeline_job:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 19, // 5: mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsRequest.read_mask:type_name -> google.protobuf.FieldMask + 20, // 6: mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsResponse.pipeline_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 20, // 7: mockgcp.cloud.aiplatform.v1beta1.BatchDeletePipelineJobsResponse.pipeline_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 20, // 8: mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsResponse.pipeline_jobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 1, // 9: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateTrainingPipelineRequest + 2, // 10: mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetTrainingPipelineRequest + 3, // 11: mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesRequest + 5, // 12: mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteTrainingPipelineRequest + 6, // 13: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelTrainingPipelineRequest + 7, // 14: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreatePipelineJobRequest + 8, // 15: mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetPipelineJobRequest + 9, // 16: mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsRequest + 11, // 17: mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeletePipelineJobRequest + 12, // 18: mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchDeletePipelineJobsRequest + 14, // 19: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob:input_type -> mockgcp.cloud.aiplatform.v1beta1.CancelPipelineJobRequest + 15, // 20: mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCancelPipelineJobsRequest + 18, // 21: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline:output_type -> mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline + 18, // 22: mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline:output_type -> mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline + 4, // 23: mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListTrainingPipelinesResponse + 21, // 24: mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline:output_type -> google.longrunning.Operation + 22, // 25: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline:output_type -> google.protobuf.Empty + 20, // 26: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 20, // 27: mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob:output_type -> mockgcp.cloud.aiplatform.v1beta1.PipelineJob + 10, // 28: mockgcp.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListPipelineJobsResponse + 21, // 29: mockgcp.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob:output_type -> google.longrunning.Operation + 21, // 30: mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs:output_type -> google.longrunning.Operation + 22, // 31: mockgcp.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob:output_type -> google.protobuf.Empty + 21, // 32: mockgcp.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs:output_type -> google.longrunning.Operation + 21, // [21:33] is the sub-list for method output_type + 9, // [9:21] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_job_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCancelPipelineJobsOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTrainingPipelineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainingPipelineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTrainingPipelinesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTrainingPipelinesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTrainingPipelineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelTrainingPipelineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePipelineJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPipelineJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelineJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPipelineJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePipelineJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchDeletePipelineJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchDeletePipelineJobsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelPipelineJobRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCancelPipelineJobsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCancelPipelineJobsResponse); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 17, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.gw.go new file mode 100644 index 0000000000..9dc194b6ef --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service.pb.gw.go @@ -0,0 +1,1472 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_PipelineService_CreateTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTrainingPipelineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TrainingPipeline); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateTrainingPipeline(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_CreateTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTrainingPipelineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TrainingPipeline); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateTrainingPipeline(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_GetTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTrainingPipelineRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetTrainingPipeline(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_GetTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTrainingPipelineRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetTrainingPipeline(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_PipelineService_ListTrainingPipelines_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_PipelineService_ListTrainingPipelines_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTrainingPipelinesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_ListTrainingPipelines_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTrainingPipelines(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_ListTrainingPipelines_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTrainingPipelinesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_ListTrainingPipelines_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListTrainingPipelines(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_DeleteTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTrainingPipelineRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteTrainingPipeline(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_DeleteTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTrainingPipelineRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteTrainingPipeline(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_CancelTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelTrainingPipelineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelTrainingPipeline(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_CancelTrainingPipeline_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelTrainingPipelineRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelTrainingPipeline(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_PipelineService_CreatePipelineJob_0 = &utilities.DoubleArray{Encoding: map[string]int{"pipeline_job": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_PipelineService_CreatePipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePipelineJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PipelineJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_CreatePipelineJob_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreatePipelineJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_CreatePipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePipelineJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.PipelineJob); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_CreatePipelineJob_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePipelineJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_GetPipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPipelineJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetPipelineJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_GetPipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetPipelineJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetPipelineJob(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_PipelineService_ListPipelineJobs_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_PipelineService_ListPipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPipelineJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_ListPipelineJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListPipelineJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_ListPipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPipelineJobsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PipelineService_ListPipelineJobs_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListPipelineJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_DeletePipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeletePipelineJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeletePipelineJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_DeletePipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeletePipelineJobRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeletePipelineJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_BatchDeletePipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchDeletePipelineJobsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchDeletePipelineJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_BatchDeletePipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchDeletePipelineJobsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchDeletePipelineJobs(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_CancelPipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelPipelineJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.CancelPipelineJob(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_CancelPipelineJob_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CancelPipelineJobRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.CancelPipelineJob(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PipelineService_BatchCancelPipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, client PipelineServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCancelPipelineJobsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCancelPipelineJobs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PipelineService_BatchCancelPipelineJobs_0(ctx context.Context, marshaler runtime.Marshaler, server PipelineServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCancelPipelineJobsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCancelPipelineJobs(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterPipelineServiceHandlerServer registers the http handlers for service PipelineService to "mux". +// UnaryRPC :call PipelineServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPipelineServiceHandlerFromEndpoint instead. +func RegisterPipelineServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PipelineServiceServer) error { + + mux.Handle("POST", pattern_PipelineService_CreateTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreateTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/trainingPipelines")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_CreateTrainingPipeline_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CreateTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_GetTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_GetTrainingPipeline_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_GetTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_ListTrainingPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListTrainingPipelines", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/trainingPipelines")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_ListTrainingPipelines_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_ListTrainingPipelines_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PipelineService_DeleteTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeleteTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_DeleteTrainingPipeline_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_DeleteTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CancelTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_CancelTrainingPipeline_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CancelTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CreatePipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreatePipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_CreatePipelineJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CreatePipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_GetPipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetPipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_GetPipelineJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_GetPipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_ListPipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListPipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_ListPipelineJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_ListPipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PipelineService_DeletePipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeletePipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_DeletePipelineJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_DeletePipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_BatchDeletePipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchDeletePipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs:batchDelete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_BatchDeletePipelineJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_BatchDeletePipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CancelPipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelPipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_CancelPipelineJob_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CancelPipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_BatchCancelPipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchCancelPipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs:batchCancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PipelineService_BatchCancelPipelineJobs_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_BatchCancelPipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterPipelineServiceHandlerFromEndpoint is same as RegisterPipelineServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterPipelineServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterPipelineServiceHandler(ctx, mux, conn) +} + +// RegisterPipelineServiceHandler registers the http handlers for service PipelineService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterPipelineServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterPipelineServiceHandlerClient(ctx, mux, NewPipelineServiceClient(conn)) +} + +// RegisterPipelineServiceHandlerClient registers the http handlers for service PipelineService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PipelineServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PipelineServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "PipelineServiceClient" to call the correct interceptors. +func RegisterPipelineServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PipelineServiceClient) error { + + mux.Handle("POST", pattern_PipelineService_CreateTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreateTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/trainingPipelines")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_CreateTrainingPipeline_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CreateTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_GetTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_GetTrainingPipeline_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_GetTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_ListTrainingPipelines_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListTrainingPipelines", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/trainingPipelines")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_ListTrainingPipelines_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_ListTrainingPipelines_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PipelineService_DeleteTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeleteTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_DeleteTrainingPipeline_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_DeleteTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CancelTrainingPipeline_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelTrainingPipeline", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_CancelTrainingPipeline_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CancelTrainingPipeline_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CreatePipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreatePipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_CreatePipelineJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CreatePipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_GetPipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetPipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_GetPipelineJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_GetPipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_PipelineService_ListPipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListPipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_ListPipelineJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_ListPipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_PipelineService_DeletePipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeletePipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_DeletePipelineJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_DeletePipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_BatchDeletePipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchDeletePipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs:batchDelete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_BatchDeletePipelineJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_BatchDeletePipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_CancelPipelineJob_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelPipelineJob", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}:cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_CancelPipelineJob_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_CancelPipelineJob_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PipelineService_BatchCancelPipelineJobs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchCancelPipelineJobs", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/pipelineJobs:batchCancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PipelineService_BatchCancelPipelineJobs_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PipelineService_BatchCancelPipelineJobs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_PipelineService_CreateTrainingPipeline_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "trainingPipelines"}, "")) + + pattern_PipelineService_GetTrainingPipeline_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "trainingPipelines", "name"}, "")) + + pattern_PipelineService_ListTrainingPipelines_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "trainingPipelines"}, "")) + + pattern_PipelineService_DeleteTrainingPipeline_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "trainingPipelines", "name"}, "")) + + pattern_PipelineService_CancelTrainingPipeline_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "trainingPipelines", "name"}, "cancel")) + + pattern_PipelineService_CreatePipelineJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "pipelineJobs"}, "")) + + pattern_PipelineService_GetPipelineJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "pipelineJobs", "name"}, "")) + + pattern_PipelineService_ListPipelineJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "pipelineJobs"}, "")) + + pattern_PipelineService_DeletePipelineJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "pipelineJobs", "name"}, "")) + + pattern_PipelineService_BatchDeletePipelineJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "pipelineJobs"}, "batchDelete")) + + pattern_PipelineService_CancelPipelineJob_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "pipelineJobs", "name"}, "cancel")) + + pattern_PipelineService_BatchCancelPipelineJobs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "pipelineJobs"}, "batchCancel")) +) + +var ( + forward_PipelineService_CreateTrainingPipeline_0 = runtime.ForwardResponseMessage + + forward_PipelineService_GetTrainingPipeline_0 = runtime.ForwardResponseMessage + + forward_PipelineService_ListTrainingPipelines_0 = runtime.ForwardResponseMessage + + forward_PipelineService_DeleteTrainingPipeline_0 = runtime.ForwardResponseMessage + + forward_PipelineService_CancelTrainingPipeline_0 = runtime.ForwardResponseMessage + + forward_PipelineService_CreatePipelineJob_0 = runtime.ForwardResponseMessage + + forward_PipelineService_GetPipelineJob_0 = runtime.ForwardResponseMessage + + forward_PipelineService_ListPipelineJobs_0 = runtime.ForwardResponseMessage + + forward_PipelineService_DeletePipelineJob_0 = runtime.ForwardResponseMessage + + forward_PipelineService_BatchDeletePipelineJobs_0 = runtime.ForwardResponseMessage + + forward_PipelineService_CancelPipelineJob_0 = runtime.ForwardResponseMessage + + forward_PipelineService_BatchCancelPipelineJobs_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service_grpc.pb.go new file mode 100644 index 0000000000..9781c7812b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_service_grpc.pb.go @@ -0,0 +1,595 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// PipelineServiceClient is the client API for PipelineService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type PipelineServiceClient interface { + // Creates a TrainingPipeline. A created TrainingPipeline right away will be + // attempted to be run. + CreateTrainingPipeline(ctx context.Context, in *CreateTrainingPipelineRequest, opts ...grpc.CallOption) (*TrainingPipeline, error) + // Gets a TrainingPipeline. + GetTrainingPipeline(ctx context.Context, in *GetTrainingPipelineRequest, opts ...grpc.CallOption) (*TrainingPipeline, error) + // Lists TrainingPipelines in a Location. + ListTrainingPipelines(ctx context.Context, in *ListTrainingPipelinesRequest, opts ...grpc.CallOption) (*ListTrainingPipelinesResponse, error) + // Deletes a TrainingPipeline. + DeleteTrainingPipeline(ctx context.Context, in *DeleteTrainingPipelineRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a TrainingPipeline. + // Starts asynchronous cancellation on the TrainingPipeline. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use + // [PipelineService.GetTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline] + // or other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the TrainingPipeline is not deleted; instead it becomes a pipeline with + // a + // [TrainingPipeline.error][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [TrainingPipeline.state][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.state] + // is set to `CANCELLED`. + CancelTrainingPipeline(ctx context.Context, in *CancelTrainingPipelineRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a PipelineJob. A PipelineJob will run immediately when created. + CreatePipelineJob(ctx context.Context, in *CreatePipelineJobRequest, opts ...grpc.CallOption) (*PipelineJob, error) + // Gets a PipelineJob. + GetPipelineJob(ctx context.Context, in *GetPipelineJobRequest, opts ...grpc.CallOption) (*PipelineJob, error) + // Lists PipelineJobs in a Location. + ListPipelineJobs(ctx context.Context, in *ListPipelineJobsRequest, opts ...grpc.CallOption) (*ListPipelineJobsResponse, error) + // Deletes a PipelineJob. + DeletePipelineJob(ctx context.Context, in *DeletePipelineJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Batch deletes PipelineJobs + // The Operation is atomic. If it fails, none of the PipelineJobs are deleted. + // If it succeeds, all of the PipelineJobs are deleted. + BatchDeletePipelineJobs(ctx context.Context, in *BatchDeletePipelineJobsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Cancels a PipelineJob. + // Starts asynchronous cancellation on the PipelineJob. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use + // [PipelineService.GetPipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob] + // or other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the PipelineJob is not deleted; instead it becomes a pipeline with + // a [PipelineJob.error][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [PipelineJob.state][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.state] is + // set to `CANCELLED`. + CancelPipelineJob(ctx context.Context, in *CancelPipelineJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Batch cancel PipelineJobs. + // Firstly the server will check if all the jobs are in non-terminal states, + // and skip the jobs that are already terminated. + // If the operation failed, none of the pipeline jobs are cancelled. + // The server will poll the states of all the pipeline jobs periodically + // to check the cancellation status. + // This operation will return an LRO. + BatchCancelPipelineJobs(ctx context.Context, in *BatchCancelPipelineJobsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type pipelineServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPipelineServiceClient(cc grpc.ClientConnInterface) PipelineServiceClient { + return &pipelineServiceClient{cc} +} + +func (c *pipelineServiceClient) CreateTrainingPipeline(ctx context.Context, in *CreateTrainingPipelineRequest, opts ...grpc.CallOption) (*TrainingPipeline, error) { + out := new(TrainingPipeline) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreateTrainingPipeline", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) GetTrainingPipeline(ctx context.Context, in *GetTrainingPipelineRequest, opts ...grpc.CallOption) (*TrainingPipeline, error) { + out := new(TrainingPipeline) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetTrainingPipeline", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) ListTrainingPipelines(ctx context.Context, in *ListTrainingPipelinesRequest, opts ...grpc.CallOption) (*ListTrainingPipelinesResponse, error) { + out := new(ListTrainingPipelinesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListTrainingPipelines", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) DeleteTrainingPipeline(ctx context.Context, in *DeleteTrainingPipelineRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeleteTrainingPipeline", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) CancelTrainingPipeline(ctx context.Context, in *CancelTrainingPipelineRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelTrainingPipeline", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) CreatePipelineJob(ctx context.Context, in *CreatePipelineJobRequest, opts ...grpc.CallOption) (*PipelineJob, error) { + out := new(PipelineJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreatePipelineJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) GetPipelineJob(ctx context.Context, in *GetPipelineJobRequest, opts ...grpc.CallOption) (*PipelineJob, error) { + out := new(PipelineJob) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetPipelineJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) ListPipelineJobs(ctx context.Context, in *ListPipelineJobsRequest, opts ...grpc.CallOption) (*ListPipelineJobsResponse, error) { + out := new(ListPipelineJobsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListPipelineJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) DeletePipelineJob(ctx context.Context, in *DeletePipelineJobRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeletePipelineJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) BatchDeletePipelineJobs(ctx context.Context, in *BatchDeletePipelineJobsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchDeletePipelineJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) CancelPipelineJob(ctx context.Context, in *CancelPipelineJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelPipelineJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *pipelineServiceClient) BatchCancelPipelineJobs(ctx context.Context, in *BatchCancelPipelineJobsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchCancelPipelineJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PipelineServiceServer is the server API for PipelineService service. +// All implementations must embed UnimplementedPipelineServiceServer +// for forward compatibility +type PipelineServiceServer interface { + // Creates a TrainingPipeline. A created TrainingPipeline right away will be + // attempted to be run. + CreateTrainingPipeline(context.Context, *CreateTrainingPipelineRequest) (*TrainingPipeline, error) + // Gets a TrainingPipeline. + GetTrainingPipeline(context.Context, *GetTrainingPipelineRequest) (*TrainingPipeline, error) + // Lists TrainingPipelines in a Location. + ListTrainingPipelines(context.Context, *ListTrainingPipelinesRequest) (*ListTrainingPipelinesResponse, error) + // Deletes a TrainingPipeline. + DeleteTrainingPipeline(context.Context, *DeleteTrainingPipelineRequest) (*longrunningpb.Operation, error) + // Cancels a TrainingPipeline. + // Starts asynchronous cancellation on the TrainingPipeline. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use + // [PipelineService.GetTrainingPipeline][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline] + // or other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the TrainingPipeline is not deleted; instead it becomes a pipeline with + // a + // [TrainingPipeline.error][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [TrainingPipeline.state][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.state] + // is set to `CANCELLED`. + CancelTrainingPipeline(context.Context, *CancelTrainingPipelineRequest) (*empty.Empty, error) + // Creates a PipelineJob. A PipelineJob will run immediately when created. + CreatePipelineJob(context.Context, *CreatePipelineJobRequest) (*PipelineJob, error) + // Gets a PipelineJob. + GetPipelineJob(context.Context, *GetPipelineJobRequest) (*PipelineJob, error) + // Lists PipelineJobs in a Location. + ListPipelineJobs(context.Context, *ListPipelineJobsRequest) (*ListPipelineJobsResponse, error) + // Deletes a PipelineJob. + DeletePipelineJob(context.Context, *DeletePipelineJobRequest) (*longrunningpb.Operation, error) + // Batch deletes PipelineJobs + // The Operation is atomic. If it fails, none of the PipelineJobs are deleted. + // If it succeeds, all of the PipelineJobs are deleted. + BatchDeletePipelineJobs(context.Context, *BatchDeletePipelineJobsRequest) (*longrunningpb.Operation, error) + // Cancels a PipelineJob. + // Starts asynchronous cancellation on the PipelineJob. The server + // makes a best effort to cancel the pipeline, but success is not + // guaranteed. Clients can use + // [PipelineService.GetPipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob] + // or other methods to check whether the cancellation succeeded or whether the + // pipeline completed despite cancellation. On successful cancellation, + // the PipelineJob is not deleted; instead it becomes a pipeline with + // a [PipelineJob.error][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`, and + // [PipelineJob.state][mockgcp.cloud.aiplatform.v1beta1.PipelineJob.state] is + // set to `CANCELLED`. + CancelPipelineJob(context.Context, *CancelPipelineJobRequest) (*empty.Empty, error) + // Batch cancel PipelineJobs. + // Firstly the server will check if all the jobs are in non-terminal states, + // and skip the jobs that are already terminated. + // If the operation failed, none of the pipeline jobs are cancelled. + // The server will poll the states of all the pipeline jobs periodically + // to check the cancellation status. + // This operation will return an LRO. + BatchCancelPipelineJobs(context.Context, *BatchCancelPipelineJobsRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedPipelineServiceServer() +} + +// UnimplementedPipelineServiceServer must be embedded to have forward compatible implementations. +type UnimplementedPipelineServiceServer struct { +} + +func (UnimplementedPipelineServiceServer) CreateTrainingPipeline(context.Context, *CreateTrainingPipelineRequest) (*TrainingPipeline, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTrainingPipeline not implemented") +} +func (UnimplementedPipelineServiceServer) GetTrainingPipeline(context.Context, *GetTrainingPipelineRequest) (*TrainingPipeline, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTrainingPipeline not implemented") +} +func (UnimplementedPipelineServiceServer) ListTrainingPipelines(context.Context, *ListTrainingPipelinesRequest) (*ListTrainingPipelinesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTrainingPipelines not implemented") +} +func (UnimplementedPipelineServiceServer) DeleteTrainingPipeline(context.Context, *DeleteTrainingPipelineRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTrainingPipeline not implemented") +} +func (UnimplementedPipelineServiceServer) CancelTrainingPipeline(context.Context, *CancelTrainingPipelineRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelTrainingPipeline not implemented") +} +func (UnimplementedPipelineServiceServer) CreatePipelineJob(context.Context, *CreatePipelineJobRequest) (*PipelineJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePipelineJob not implemented") +} +func (UnimplementedPipelineServiceServer) GetPipelineJob(context.Context, *GetPipelineJobRequest) (*PipelineJob, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPipelineJob not implemented") +} +func (UnimplementedPipelineServiceServer) ListPipelineJobs(context.Context, *ListPipelineJobsRequest) (*ListPipelineJobsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPipelineJobs not implemented") +} +func (UnimplementedPipelineServiceServer) DeletePipelineJob(context.Context, *DeletePipelineJobRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePipelineJob not implemented") +} +func (UnimplementedPipelineServiceServer) BatchDeletePipelineJobs(context.Context, *BatchDeletePipelineJobsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchDeletePipelineJobs not implemented") +} +func (UnimplementedPipelineServiceServer) CancelPipelineJob(context.Context, *CancelPipelineJobRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelPipelineJob not implemented") +} +func (UnimplementedPipelineServiceServer) BatchCancelPipelineJobs(context.Context, *BatchCancelPipelineJobsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCancelPipelineJobs not implemented") +} +func (UnimplementedPipelineServiceServer) mustEmbedUnimplementedPipelineServiceServer() {} + +// UnsafePipelineServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PipelineServiceServer will +// result in compilation errors. +type UnsafePipelineServiceServer interface { + mustEmbedUnimplementedPipelineServiceServer() +} + +func RegisterPipelineServiceServer(s grpc.ServiceRegistrar, srv PipelineServiceServer) { + s.RegisterService(&PipelineService_ServiceDesc, srv) +} + +func _PipelineService_CreateTrainingPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTrainingPipelineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).CreateTrainingPipeline(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreateTrainingPipeline", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).CreateTrainingPipeline(ctx, req.(*CreateTrainingPipelineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_GetTrainingPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTrainingPipelineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).GetTrainingPipeline(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetTrainingPipeline", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).GetTrainingPipeline(ctx, req.(*GetTrainingPipelineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_ListTrainingPipelines_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTrainingPipelinesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).ListTrainingPipelines(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListTrainingPipelines", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).ListTrainingPipelines(ctx, req.(*ListTrainingPipelinesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_DeleteTrainingPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTrainingPipelineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).DeleteTrainingPipeline(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeleteTrainingPipeline", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).DeleteTrainingPipeline(ctx, req.(*DeleteTrainingPipelineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_CancelTrainingPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelTrainingPipelineRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).CancelTrainingPipeline(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelTrainingPipeline", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).CancelTrainingPipeline(ctx, req.(*CancelTrainingPipelineRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_CreatePipelineJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePipelineJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).CreatePipelineJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CreatePipelineJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).CreatePipelineJob(ctx, req.(*CreatePipelineJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_GetPipelineJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPipelineJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).GetPipelineJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/GetPipelineJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).GetPipelineJob(ctx, req.(*GetPipelineJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_ListPipelineJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPipelineJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).ListPipelineJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/ListPipelineJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).ListPipelineJobs(ctx, req.(*ListPipelineJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_DeletePipelineJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePipelineJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).DeletePipelineJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/DeletePipelineJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).DeletePipelineJob(ctx, req.(*DeletePipelineJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_BatchDeletePipelineJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchDeletePipelineJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).BatchDeletePipelineJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchDeletePipelineJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).BatchDeletePipelineJobs(ctx, req.(*BatchDeletePipelineJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_CancelPipelineJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelPipelineJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).CancelPipelineJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/CancelPipelineJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).CancelPipelineJob(ctx, req.(*CancelPipelineJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PipelineService_BatchCancelPipelineJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCancelPipelineJobsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PipelineServiceServer).BatchCancelPipelineJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PipelineService/BatchCancelPipelineJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PipelineServiceServer).BatchCancelPipelineJobs(ctx, req.(*BatchCancelPipelineJobsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// PipelineService_ServiceDesc is the grpc.ServiceDesc for PipelineService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PipelineService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.PipelineService", + HandlerType: (*PipelineServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateTrainingPipeline", + Handler: _PipelineService_CreateTrainingPipeline_Handler, + }, + { + MethodName: "GetTrainingPipeline", + Handler: _PipelineService_GetTrainingPipeline_Handler, + }, + { + MethodName: "ListTrainingPipelines", + Handler: _PipelineService_ListTrainingPipelines_Handler, + }, + { + MethodName: "DeleteTrainingPipeline", + Handler: _PipelineService_DeleteTrainingPipeline_Handler, + }, + { + MethodName: "CancelTrainingPipeline", + Handler: _PipelineService_CancelTrainingPipeline_Handler, + }, + { + MethodName: "CreatePipelineJob", + Handler: _PipelineService_CreatePipelineJob_Handler, + }, + { + MethodName: "GetPipelineJob", + Handler: _PipelineService_GetPipelineJob_Handler, + }, + { + MethodName: "ListPipelineJobs", + Handler: _PipelineService_ListPipelineJobs_Handler, + }, + { + MethodName: "DeletePipelineJob", + Handler: _PipelineService_DeletePipelineJob_Handler, + }, + { + MethodName: "BatchDeletePipelineJobs", + Handler: _PipelineService_BatchDeletePipelineJobs_Handler, + }, + { + MethodName: "CancelPipelineJob", + Handler: _PipelineService_CancelPipelineJob_Handler, + }, + { + MethodName: "BatchCancelPipelineJobs", + Handler: _PipelineService_BatchCancelPipelineJobs_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/pipeline_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_state.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_state.pb.go new file mode 100644 index 0000000000..68a4c49833 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/pipeline_state.pb.go @@ -0,0 +1,208 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/pipeline_state.proto + +package aiplatformpb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the state of a pipeline. +type PipelineState int32 + +const ( + // The pipeline state is unspecified. + PipelineState_PIPELINE_STATE_UNSPECIFIED PipelineState = 0 + // The pipeline has been created or resumed, and processing has not yet + // begun. + PipelineState_PIPELINE_STATE_QUEUED PipelineState = 1 + // The service is preparing to run the pipeline. + PipelineState_PIPELINE_STATE_PENDING PipelineState = 2 + // The pipeline is in progress. + PipelineState_PIPELINE_STATE_RUNNING PipelineState = 3 + // The pipeline completed successfully. + PipelineState_PIPELINE_STATE_SUCCEEDED PipelineState = 4 + // The pipeline failed. + PipelineState_PIPELINE_STATE_FAILED PipelineState = 5 + // The pipeline is being cancelled. From this state, the pipeline may only go + // to either PIPELINE_STATE_SUCCEEDED, PIPELINE_STATE_FAILED or + // PIPELINE_STATE_CANCELLED. + PipelineState_PIPELINE_STATE_CANCELLING PipelineState = 6 + // The pipeline has been cancelled. + PipelineState_PIPELINE_STATE_CANCELLED PipelineState = 7 + // The pipeline has been stopped, and can be resumed. + PipelineState_PIPELINE_STATE_PAUSED PipelineState = 8 +) + +// Enum value maps for PipelineState. +var ( + PipelineState_name = map[int32]string{ + 0: "PIPELINE_STATE_UNSPECIFIED", + 1: "PIPELINE_STATE_QUEUED", + 2: "PIPELINE_STATE_PENDING", + 3: "PIPELINE_STATE_RUNNING", + 4: "PIPELINE_STATE_SUCCEEDED", + 5: "PIPELINE_STATE_FAILED", + 6: "PIPELINE_STATE_CANCELLING", + 7: "PIPELINE_STATE_CANCELLED", + 8: "PIPELINE_STATE_PAUSED", + } + PipelineState_value = map[string]int32{ + "PIPELINE_STATE_UNSPECIFIED": 0, + "PIPELINE_STATE_QUEUED": 1, + "PIPELINE_STATE_PENDING": 2, + "PIPELINE_STATE_RUNNING": 3, + "PIPELINE_STATE_SUCCEEDED": 4, + "PIPELINE_STATE_FAILED": 5, + "PIPELINE_STATE_CANCELLING": 6, + "PIPELINE_STATE_CANCELLED": 7, + "PIPELINE_STATE_PAUSED": 8, + } +) + +func (x PipelineState) Enum() *PipelineState { + p := new(PipelineState) + *p = x + return p +} + +func (x PipelineState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PipelineState) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_enumTypes[0].Descriptor() +} + +func (PipelineState) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_enumTypes[0] +} + +func (x PipelineState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PipelineState.Descriptor instead. +func (PipelineState) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescGZIP(), []int{0} +} + +var File_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDesc = []byte{ + 0x0a, 0x35, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2a, 0x93, 0x02, 0x0a, 0x0d, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, + 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, + 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x51, 0x55, + 0x45, 0x55, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x1c, + 0x0a, 0x18, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, + 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x49, 0x50, 0x45, 0x4c, + 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, + 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, + 0x45, 0x44, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x49, 0x50, 0x45, 0x4c, 0x49, 0x4e, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x08, 0x42, + 0xea, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x12, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_goTypes = []interface{}{ + (PipelineState)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PipelineState +} +var file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_enumTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_state_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.go new file mode 100644 index 0000000000..5738d0f276 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.go @@ -0,0 +1,2901 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/prediction_service.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Blocked reason enumeration. +type GenerateContentResponse_PromptFeedback_BlockedReason int32 + +const ( + // Unspecified blocked reason. + GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED GenerateContentResponse_PromptFeedback_BlockedReason = 0 + // Candidates blocked due to safety. + GenerateContentResponse_PromptFeedback_SAFETY GenerateContentResponse_PromptFeedback_BlockedReason = 1 + // Candidates blocked due to other reason. + GenerateContentResponse_PromptFeedback_OTHER GenerateContentResponse_PromptFeedback_BlockedReason = 2 +) + +// Enum value maps for GenerateContentResponse_PromptFeedback_BlockedReason. +var ( + GenerateContentResponse_PromptFeedback_BlockedReason_name = map[int32]string{ + 0: "BLOCKED_REASON_UNSPECIFIED", + 1: "SAFETY", + 2: "OTHER", + } + GenerateContentResponse_PromptFeedback_BlockedReason_value = map[string]int32{ + "BLOCKED_REASON_UNSPECIFIED": 0, + "SAFETY": 1, + "OTHER": 2, + } +) + +func (x GenerateContentResponse_PromptFeedback_BlockedReason) Enum() *GenerateContentResponse_PromptFeedback_BlockedReason { + p := new(GenerateContentResponse_PromptFeedback_BlockedReason) + *p = x + return p +} + +func (x GenerateContentResponse_PromptFeedback_BlockedReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GenerateContentResponse_PromptFeedback_BlockedReason) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_enumTypes[0].Descriptor() +} + +func (GenerateContentResponse_PromptFeedback_BlockedReason) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_enumTypes[0] +} + +func (x GenerateContentResponse_PromptFeedback_BlockedReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GenerateContentResponse_PromptFeedback_BlockedReason.Descriptor instead. +func (GenerateContentResponse_PromptFeedback_BlockedReason) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{20, 0, 0} +} + +// Request message for +// [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict]. +type PredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The instances that are the input to the prediction call. + // A DeployedModel may have an upper limit on the number of instances it + // supports per request, and when it is exceeded the prediction call errors + // in case of AutoML Models, or, in case of customer created Models, the + // behaviour is as documented by that Model. + // The schema of any single instance may be specified via Endpoint's + // DeployedModels' + // [Model's][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]. + Instances []*_struct.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` + // The parameters that govern the prediction. The schema of the parameters may + // be specified via Endpoint's DeployedModels' [Model's + // ][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [parameters_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.parameters_schema_uri]. + Parameters *_struct.Value `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *PredictRequest) Reset() { + *x = PredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictRequest) ProtoMessage() {} + +func (x *PredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[0] + 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 PredictRequest.ProtoReflect.Descriptor instead. +func (*PredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{0} +} + +func (x *PredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *PredictRequest) GetInstances() []*_struct.Value { + if x != nil { + return x.Instances + } + return nil +} + +func (x *PredictRequest) GetParameters() *_struct.Value { + if x != nil { + return x.Parameters + } + return nil +} + +// Response message for +// [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict]. +type PredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The predictions that are the output of the predictions call. + // The schema of any single prediction may be specified via Endpoint's + // DeployedModels' [Model's + // ][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [prediction_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.prediction_schema_uri]. + Predictions []*_struct.Value `protobuf:"bytes,1,rep,name=predictions,proto3" json:"predictions,omitempty"` + // ID of the Endpoint's DeployedModel that served this prediction. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // Output only. The resource name of the Model which is deployed as the + // DeployedModel that this prediction hits. + Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The version ID of the Model which is deployed as the + // DeployedModel that this prediction hits. + ModelVersionId string `protobuf:"bytes,5,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` + // Output only. The [display + // name][mockgcp.cloud.aiplatform.v1beta1.Model.display_name] of the Model + // which is deployed as the DeployedModel that this prediction hits. + ModelDisplayName string `protobuf:"bytes,4,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` + // Output only. Request-level metadata returned by the model. The metadata + // type will be dependent upon the model implementation. + Metadata *_struct.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *PredictResponse) Reset() { + *x = PredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse) ProtoMessage() {} + +func (x *PredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[1] + 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 PredictResponse.ProtoReflect.Descriptor instead. +func (*PredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{1} +} + +func (x *PredictResponse) GetPredictions() []*_struct.Value { + if x != nil { + return x.Predictions + } + return nil +} + +func (x *PredictResponse) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *PredictResponse) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *PredictResponse) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +func (x *PredictResponse) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +func (x *PredictResponse) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +// Request message for +// [PredictionService.RawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.RawPredict]. +type RawPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // The prediction input. Supports HTTP headers and arbitrary data payload. + // + // A [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] may have + // an upper limit on the number of instances it supports per request. When + // this limit it is exceeded for an AutoML model, the + // [RawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.RawPredict] + // method returns an error. When this limit is exceeded for a custom-trained + // model, the behavior varies depending on the model. + // + // You can specify the schema for each instance in the + // [predict_schemata.instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri] + // field when you create a [Model][mockgcp.cloud.aiplatform.v1beta1.Model]. + // This schema applies when you deploy the `Model` as a `DeployedModel` to an + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] and use the + // `RawPredict` method. + HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"` +} + +func (x *RawPredictRequest) Reset() { + *x = RawPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RawPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RawPredictRequest) ProtoMessage() {} + +func (x *RawPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_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 RawPredictRequest.ProtoReflect.Descriptor instead. +func (*RawPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{2} +} + +func (x *RawPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *RawPredictRequest) GetHttpBody() *httpbody.HttpBody { + if x != nil { + return x.HttpBody + } + return nil +} + +// Request message for +// [PredictionService.DirectPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectPredict]. +type DirectPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // The prediction input. + Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` + // The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *DirectPredictRequest) Reset() { + *x = DirectPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectPredictRequest) ProtoMessage() {} + +func (x *DirectPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[3] + 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 DirectPredictRequest.ProtoReflect.Descriptor instead. +func (*DirectPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{3} +} + +func (x *DirectPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *DirectPredictRequest) GetInputs() []*Tensor { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *DirectPredictRequest) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Response message for +// [PredictionService.DirectPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectPredict]. +type DirectPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + // The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *DirectPredictResponse) Reset() { + *x = DirectPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectPredictResponse) ProtoMessage() {} + +func (x *DirectPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[4] + 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 DirectPredictResponse.ProtoReflect.Descriptor instead. +func (*DirectPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{4} +} + +func (x *DirectPredictResponse) GetOutputs() []*Tensor { + if x != nil { + return x.Outputs + } + return nil +} + +func (x *DirectPredictResponse) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Request message for +// [PredictionService.DirectRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict]. +type DirectRawPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Fully qualified name of the API method being invoked to perform + // predictions. + // + // Format: + // `/namespace.Service/Method/` + // Example: + // `/tensorflow.serving.PredictionService/Predict` + MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` + // The prediction input. + Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` +} + +func (x *DirectRawPredictRequest) Reset() { + *x = DirectRawPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectRawPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectRawPredictRequest) ProtoMessage() {} + +func (x *DirectRawPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[5] + 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 DirectRawPredictRequest.ProtoReflect.Descriptor instead. +func (*DirectRawPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DirectRawPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *DirectRawPredictRequest) GetMethodName() string { + if x != nil { + return x.MethodName + } + return "" +} + +func (x *DirectRawPredictRequest) GetInput() []byte { + if x != nil { + return x.Input + } + return nil +} + +// Response message for +// [PredictionService.DirectRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict]. +type DirectRawPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` +} + +func (x *DirectRawPredictResponse) Reset() { + *x = DirectRawPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectRawPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectRawPredictResponse) ProtoMessage() {} + +func (x *DirectRawPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_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 DirectRawPredictResponse.ProtoReflect.Descriptor instead. +func (*DirectRawPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DirectRawPredictResponse) GetOutput() []byte { + if x != nil { + return x.Output + } + return nil +} + +// Request message for +// [PredictionService.StreamDirectPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict]. +// +// The first message must contain +// [endpoint][mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.endpoint] +// field and optionally [input][]. The subsequent messages must contain +// [input][]. +type StreamDirectPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Optional. The prediction input. + Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` + // Optional. The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *StreamDirectPredictRequest) Reset() { + *x = StreamDirectPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamDirectPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamDirectPredictRequest) ProtoMessage() {} + +func (x *StreamDirectPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[7] + 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 StreamDirectPredictRequest.ProtoReflect.Descriptor instead. +func (*StreamDirectPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{7} +} + +func (x *StreamDirectPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *StreamDirectPredictRequest) GetInputs() []*Tensor { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *StreamDirectPredictRequest) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Response message for +// [PredictionService.StreamDirectPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict]. +type StreamDirectPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + // The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *StreamDirectPredictResponse) Reset() { + *x = StreamDirectPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamDirectPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamDirectPredictResponse) ProtoMessage() {} + +func (x *StreamDirectPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_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 StreamDirectPredictResponse.ProtoReflect.Descriptor instead. +func (*StreamDirectPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{8} +} + +func (x *StreamDirectPredictResponse) GetOutputs() []*Tensor { + if x != nil { + return x.Outputs + } + return nil +} + +func (x *StreamDirectPredictResponse) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Request message for +// [PredictionService.StreamDirectRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict]. +// +// The first message must contain +// [endpoint][mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest.endpoint] +// and +// [method_name][mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest.method_name] +// fields and optionally +// [input][mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest.input]. +// The subsequent messages must contain +// [input][mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest.input]. +// [method_name][mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest.method_name] +// in the subsequent messages have no effect. +type StreamDirectRawPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Optional. Fully qualified name of the API method being invoked to perform + // predictions. + // + // Format: + // `/namespace.Service/Method/` + // Example: + // `/tensorflow.serving.PredictionService/Predict` + MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` + // Optional. The prediction input. + Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` +} + +func (x *StreamDirectRawPredictRequest) Reset() { + *x = StreamDirectRawPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamDirectRawPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamDirectRawPredictRequest) ProtoMessage() {} + +func (x *StreamDirectRawPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[9] + 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 StreamDirectRawPredictRequest.ProtoReflect.Descriptor instead. +func (*StreamDirectRawPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{9} +} + +func (x *StreamDirectRawPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *StreamDirectRawPredictRequest) GetMethodName() string { + if x != nil { + return x.MethodName + } + return "" +} + +func (x *StreamDirectRawPredictRequest) GetInput() []byte { + if x != nil { + return x.Input + } + return nil +} + +// Response message for +// [PredictionService.StreamDirectRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict]. +type StreamDirectRawPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` +} + +func (x *StreamDirectRawPredictResponse) Reset() { + *x = StreamDirectRawPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamDirectRawPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamDirectRawPredictResponse) ProtoMessage() {} + +func (x *StreamDirectRawPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[10] + 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 StreamDirectRawPredictResponse.ProtoReflect.Descriptor instead. +func (*StreamDirectRawPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{10} +} + +func (x *StreamDirectRawPredictResponse) GetOutput() []byte { + if x != nil { + return x.Output + } + return nil +} + +// Request message for +// [PredictionService.StreamingPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict]. +// +// The first message must contain +// [endpoint][mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest.endpoint] +// field and optionally [input][]. The subsequent messages must contain +// [input][]. +type StreamingPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // The prediction input. + Inputs []*Tensor `protobuf:"bytes,2,rep,name=inputs,proto3" json:"inputs,omitempty"` + // The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *StreamingPredictRequest) Reset() { + *x = StreamingPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingPredictRequest) ProtoMessage() {} + +func (x *StreamingPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[11] + 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 StreamingPredictRequest.ProtoReflect.Descriptor instead. +func (*StreamingPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{11} +} + +func (x *StreamingPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *StreamingPredictRequest) GetInputs() []*Tensor { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *StreamingPredictRequest) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Response message for +// [PredictionService.StreamingPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict]. +type StreamingPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Outputs []*Tensor `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + // The parameters that govern the prediction. + Parameters *Tensor `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *StreamingPredictResponse) Reset() { + *x = StreamingPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingPredictResponse) ProtoMessage() {} + +func (x *StreamingPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[12] + 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 StreamingPredictResponse.ProtoReflect.Descriptor instead. +func (*StreamingPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{12} +} + +func (x *StreamingPredictResponse) GetOutputs() []*Tensor { + if x != nil { + return x.Outputs + } + return nil +} + +func (x *StreamingPredictResponse) GetParameters() *Tensor { + if x != nil { + return x.Parameters + } + return nil +} + +// Request message for +// [PredictionService.StreamingRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict]. +// +// The first message must contain +// [endpoint][mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest.endpoint] +// and +// [method_name][mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest.method_name] +// fields and optionally +// [input][mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest.input]. +// The subsequent messages must contain +// [input][mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest.input]. +// [method_name][mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest.method_name] +// in the subsequent messages have no effect. +type StreamingRawPredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Fully qualified name of the API method being invoked to perform + // predictions. + // + // Format: + // `/namespace.Service/Method/` + // Example: + // `/tensorflow.serving.PredictionService/Predict` + MethodName string `protobuf:"bytes,2,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` + // The prediction input. + Input []byte `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` +} + +func (x *StreamingRawPredictRequest) Reset() { + *x = StreamingRawPredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingRawPredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingRawPredictRequest) ProtoMessage() {} + +func (x *StreamingRawPredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[13] + 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 StreamingRawPredictRequest.ProtoReflect.Descriptor instead. +func (*StreamingRawPredictRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{13} +} + +func (x *StreamingRawPredictRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *StreamingRawPredictRequest) GetMethodName() string { + if x != nil { + return x.MethodName + } + return "" +} + +func (x *StreamingRawPredictRequest) GetInput() []byte { + if x != nil { + return x.Input + } + return nil +} + +// Response message for +// [PredictionService.StreamingRawPredict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict]. +type StreamingRawPredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction output. + Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` +} + +func (x *StreamingRawPredictResponse) Reset() { + *x = StreamingRawPredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamingRawPredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamingRawPredictResponse) ProtoMessage() {} + +func (x *StreamingRawPredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[14] + 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 StreamingRawPredictResponse.ProtoReflect.Descriptor instead. +func (*StreamingRawPredictResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{14} +} + +func (x *StreamingRawPredictResponse) GetOutput() []byte { + if x != nil { + return x.Output + } + return nil +} + +// Request message for +// [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]. +type ExplainRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the explanation. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The instances that are the input to the explanation call. + // A DeployedModel may have an upper limit on the number of instances it + // supports per request, and when it is exceeded the explanation call errors + // in case of AutoML Models, or, in case of customer created Models, the + // behaviour is as documented by that Model. + // The schema of any single instance may be specified via Endpoint's + // DeployedModels' + // [Model's][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [instance_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]. + Instances []*_struct.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` + // The parameters that govern the prediction. The schema of the parameters may + // be specified via Endpoint's DeployedModels' [Model's + // ][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.model] + // [PredictSchemata's][mockgcp.cloud.aiplatform.v1beta1.Model.predict_schemata] + // [parameters_schema_uri][mockgcp.cloud.aiplatform.v1beta1.PredictSchemata.parameters_schema_uri]. + Parameters *_struct.Value `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` + // If specified, overrides the + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // of the DeployedModel. Can be used for explaining prediction results with + // different configurations, such as: + // - Explaining top-5 predictions results as opposed to top-1; + // - Increasing path count or step count of the attribution methods to reduce + // approximate errors; + // - Using different baselines for explaining the prediction results. + ExplanationSpecOverride *ExplanationSpecOverride `protobuf:"bytes,5,opt,name=explanation_spec_override,json=explanationSpecOverride,proto3" json:"explanation_spec_override,omitempty"` + // Optional. This field is the same as the one above, but supports multiple + // explanations to occur in parallel. The key can be any string. Each override + // will be run against the model, then its explanations will be grouped + // together. + // + // Note - these explanations are run **In Addition** to the default + // Explanation in the deployed model. + ConcurrentExplanationSpecOverride map[string]*ExplanationSpecOverride `protobuf:"bytes,6,rep,name=concurrent_explanation_spec_override,json=concurrentExplanationSpecOverride,proto3" json:"concurrent_explanation_spec_override,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If specified, this ExplainRequest will be served by the chosen + // DeployedModel, overriding + // [Endpoint.traffic_split][mockgcp.cloud.aiplatform.v1beta1.Endpoint.traffic_split]. + DeployedModelId string `protobuf:"bytes,3,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` +} + +func (x *ExplainRequest) Reset() { + *x = ExplainRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplainRequest) ProtoMessage() {} + +func (x *ExplainRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_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 ExplainRequest.ProtoReflect.Descriptor instead. +func (*ExplainRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{15} +} + +func (x *ExplainRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ExplainRequest) GetInstances() []*_struct.Value { + if x != nil { + return x.Instances + } + return nil +} + +func (x *ExplainRequest) GetParameters() *_struct.Value { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *ExplainRequest) GetExplanationSpecOverride() *ExplanationSpecOverride { + if x != nil { + return x.ExplanationSpecOverride + } + return nil +} + +func (x *ExplainRequest) GetConcurrentExplanationSpecOverride() map[string]*ExplanationSpecOverride { + if x != nil { + return x.ConcurrentExplanationSpecOverride + } + return nil +} + +func (x *ExplainRequest) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +// Response message for +// [PredictionService.Explain][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain]. +type ExplainResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The explanations of the Model's + // [PredictResponse.predictions][mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions]. + // + // It has the same number of elements as + // [instances][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances] to be + // explained. + Explanations []*Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"` + // This field stores the results of the explanations run in parallel with + // The default explanation strategy/method. + ConcurrentExplanations map[string]*ExplainResponse_ConcurrentExplanation `protobuf:"bytes,4,rep,name=concurrent_explanations,json=concurrentExplanations,proto3" json:"concurrent_explanations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // ID of the Endpoint's DeployedModel that served this explanation. + DeployedModelId string `protobuf:"bytes,2,opt,name=deployed_model_id,json=deployedModelId,proto3" json:"deployed_model_id,omitempty"` + // The predictions that are the output of the predictions call. + // Same as + // [PredictResponse.predictions][mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions]. + Predictions []*_struct.Value `protobuf:"bytes,3,rep,name=predictions,proto3" json:"predictions,omitempty"` +} + +func (x *ExplainResponse) Reset() { + *x = ExplainResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplainResponse) ProtoMessage() {} + +func (x *ExplainResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[16] + 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 ExplainResponse.ProtoReflect.Descriptor instead. +func (*ExplainResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{16} +} + +func (x *ExplainResponse) GetExplanations() []*Explanation { + if x != nil { + return x.Explanations + } + return nil +} + +func (x *ExplainResponse) GetConcurrentExplanations() map[string]*ExplainResponse_ConcurrentExplanation { + if x != nil { + return x.ConcurrentExplanations + } + return nil +} + +func (x *ExplainResponse) GetDeployedModelId() string { + if x != nil { + return x.DeployedModelId + } + return "" +} + +func (x *ExplainResponse) GetPredictions() []*_struct.Value { + if x != nil { + return x.Predictions + } + return nil +} + +// Request message for +// [PredictionService.CountTokens][mockgcp.cloud.aiplatform.v1beta1.PredictionService.CountTokens]. +type CountTokensRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to perform token counting. + // Format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Required. The name of the publisher model requested to serve the + // prediction. Format: + // `projects/{project}/locations/{location}/publishers/*/models/*` + Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` + // Required. The instances that are the input to token counting call. + // Schema is identical to the prediction schema of the underlying model. + Instances []*_struct.Value `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` + // Required. Input content. + Contents []*Content `protobuf:"bytes,4,rep,name=contents,proto3" json:"contents,omitempty"` +} + +func (x *CountTokensRequest) Reset() { + *x = CountTokensRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountTokensRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountTokensRequest) ProtoMessage() {} + +func (x *CountTokensRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[17] + 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 CountTokensRequest.ProtoReflect.Descriptor instead. +func (*CountTokensRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{17} +} + +func (x *CountTokensRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *CountTokensRequest) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *CountTokensRequest) GetInstances() []*_struct.Value { + if x != nil { + return x.Instances + } + return nil +} + +func (x *CountTokensRequest) GetContents() []*Content { + if x != nil { + return x.Contents + } + return nil +} + +// Response message for +// [PredictionService.CountTokens][mockgcp.cloud.aiplatform.v1beta1.PredictionService.CountTokens]. +type CountTokensResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total number of tokens counted across all instances from the request. + TotalTokens int32 `protobuf:"varint,1,opt,name=total_tokens,json=totalTokens,proto3" json:"total_tokens,omitempty"` + // The total number of billable characters counted across all instances from + // the request. + TotalBillableCharacters int32 `protobuf:"varint,2,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` +} + +func (x *CountTokensResponse) Reset() { + *x = CountTokensResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountTokensResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountTokensResponse) ProtoMessage() {} + +func (x *CountTokensResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[18] + 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 CountTokensResponse.ProtoReflect.Descriptor instead. +func (*CountTokensResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{18} +} + +func (x *CountTokensResponse) GetTotalTokens() int32 { + if x != nil { + return x.TotalTokens + } + return 0 +} + +func (x *CountTokensResponse) GetTotalBillableCharacters() int32 { + if x != nil { + return x.TotalBillableCharacters + } + return 0 +} + +// Request message for [PredictionService.GenerateContent]. +type GenerateContentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the publisher model requested to serve the + // prediction. Format: + // `projects/{project}/locations/{location}/publishers/*/models/*` + Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"` + // Required. The content of the current conversation with the model. + // + // For single-turn queries, this is a single instance. For multi-turn queries, + // this is a repeated field that contains conversation history + latest + // request. + Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` + // Optional. A list of `Tools` the model may use to generate the next + // response. + // + // A `Tool` is a piece of code that enables the system to interact with + // external systems to perform an action, or set of actions, outside of + // knowledge and scope of the model. + Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"` + // Optional. Per request settings for blocking unsafe content. + // Enforced on GenerateContentResponse.candidates. + SafetySettings []*SafetySetting `protobuf:"bytes,3,rep,name=safety_settings,json=safetySettings,proto3" json:"safety_settings,omitempty"` + // Optional. Generation config. + GenerationConfig *GenerationConfig `protobuf:"bytes,4,opt,name=generation_config,json=generationConfig,proto3" json:"generation_config,omitempty"` +} + +func (x *GenerateContentRequest) Reset() { + *x = GenerateContentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContentRequest) ProtoMessage() {} + +func (x *GenerateContentRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[19] + 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 GenerateContentRequest.ProtoReflect.Descriptor instead. +func (*GenerateContentRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{19} +} + +func (x *GenerateContentRequest) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *GenerateContentRequest) GetContents() []*Content { + if x != nil { + return x.Contents + } + return nil +} + +func (x *GenerateContentRequest) GetTools() []*Tool { + if x != nil { + return x.Tools + } + return nil +} + +func (x *GenerateContentRequest) GetSafetySettings() []*SafetySetting { + if x != nil { + return x.SafetySettings + } + return nil +} + +func (x *GenerateContentRequest) GetGenerationConfig() *GenerationConfig { + if x != nil { + return x.GenerationConfig + } + return nil +} + +// Response message for [PredictionService.GenerateContent]. +type GenerateContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Generated candidates. + Candidates []*Candidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` + // Output only. Content filter results for a prompt sent in the request. + // Note: Sent only in the first stream chunk. + // Only happens when no candidates were generated due to content violations. + PromptFeedback *GenerateContentResponse_PromptFeedback `protobuf:"bytes,3,opt,name=prompt_feedback,json=promptFeedback,proto3" json:"prompt_feedback,omitempty"` + // Usage metadata about the response(s). + UsageMetadata *GenerateContentResponse_UsageMetadata `protobuf:"bytes,4,opt,name=usage_metadata,json=usageMetadata,proto3" json:"usage_metadata,omitempty"` +} + +func (x *GenerateContentResponse) Reset() { + *x = GenerateContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContentResponse) ProtoMessage() {} + +func (x *GenerateContentResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[20] + 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 GenerateContentResponse.ProtoReflect.Descriptor instead. +func (*GenerateContentResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{20} +} + +func (x *GenerateContentResponse) GetCandidates() []*Candidate { + if x != nil { + return x.Candidates + } + return nil +} + +func (x *GenerateContentResponse) GetPromptFeedback() *GenerateContentResponse_PromptFeedback { + if x != nil { + return x.PromptFeedback + } + return nil +} + +func (x *GenerateContentResponse) GetUsageMetadata() *GenerateContentResponse_UsageMetadata { + if x != nil { + return x.UsageMetadata + } + return nil +} + +// This message is a wrapper grouping Concurrent Explanations. +type ExplainResponse_ConcurrentExplanation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The explanations of the Model's + // [PredictResponse.predictions][mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions]. + // + // It has the same number of elements as + // [instances][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances] to + // be explained. + Explanations []*Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"` +} + +func (x *ExplainResponse_ConcurrentExplanation) Reset() { + *x = ExplainResponse_ConcurrentExplanation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplainResponse_ConcurrentExplanation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplainResponse_ConcurrentExplanation) ProtoMessage() {} + +func (x *ExplainResponse_ConcurrentExplanation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22] + 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 ExplainResponse_ConcurrentExplanation.ProtoReflect.Descriptor instead. +func (*ExplainResponse_ConcurrentExplanation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{16, 0} +} + +func (x *ExplainResponse_ConcurrentExplanation) GetExplanations() []*Explanation { + if x != nil { + return x.Explanations + } + return nil +} + +// Content filter results for a prompt sent in the request. +type GenerateContentResponse_PromptFeedback struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Blocked reason. + BlockReason GenerateContentResponse_PromptFeedback_BlockedReason `protobuf:"varint,1,opt,name=block_reason,json=blockReason,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse_PromptFeedback_BlockedReason" json:"block_reason,omitempty"` + // Output only. Safety ratings. + SafetyRatings []*SafetyRating `protobuf:"bytes,2,rep,name=safety_ratings,json=safetyRatings,proto3" json:"safety_ratings,omitempty"` + // Output only. A readable block reason message. + BlockReasonMessage string `protobuf:"bytes,3,opt,name=block_reason_message,json=blockReasonMessage,proto3" json:"block_reason_message,omitempty"` +} + +func (x *GenerateContentResponse_PromptFeedback) Reset() { + *x = GenerateContentResponse_PromptFeedback{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContentResponse_PromptFeedback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContentResponse_PromptFeedback) ProtoMessage() {} + +func (x *GenerateContentResponse_PromptFeedback) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24] + 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 GenerateContentResponse_PromptFeedback.ProtoReflect.Descriptor instead. +func (*GenerateContentResponse_PromptFeedback) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *GenerateContentResponse_PromptFeedback) GetBlockReason() GenerateContentResponse_PromptFeedback_BlockedReason { + if x != nil { + return x.BlockReason + } + return GenerateContentResponse_PromptFeedback_BLOCKED_REASON_UNSPECIFIED +} + +func (x *GenerateContentResponse_PromptFeedback) GetSafetyRatings() []*SafetyRating { + if x != nil { + return x.SafetyRatings + } + return nil +} + +func (x *GenerateContentResponse_PromptFeedback) GetBlockReasonMessage() string { + if x != nil { + return x.BlockReasonMessage + } + return "" +} + +// Usage metadata about response(s). +type GenerateContentResponse_UsageMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of tokens in the request. + PromptTokenCount int32 `protobuf:"varint,1,opt,name=prompt_token_count,json=promptTokenCount,proto3" json:"prompt_token_count,omitempty"` + // Number of tokens in the response(s). + CandidatesTokenCount int32 `protobuf:"varint,2,opt,name=candidates_token_count,json=candidatesTokenCount,proto3" json:"candidates_token_count,omitempty"` + TotalTokenCount int32 `protobuf:"varint,3,opt,name=total_token_count,json=totalTokenCount,proto3" json:"total_token_count,omitempty"` +} + +func (x *GenerateContentResponse_UsageMetadata) Reset() { + *x = GenerateContentResponse_UsageMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateContentResponse_UsageMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateContentResponse_UsageMetadata) ProtoMessage() {} + +func (x *GenerateContentResponse_UsageMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] + 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 GenerateContentResponse_UsageMetadata.ProtoReflect.Descriptor instead. +func (*GenerateContentResponse_UsageMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{20, 1} +} + +func (x *GenerateContentResponse_UsageMetadata) GetPromptTokenCount() int32 { + if x != nil { + return x.PromptTokenCount + } + return 0 +} + +func (x *GenerateContentResponse_UsageMetadata) GetCandidatesTokenCount() int32 { + if x != nil { + return x.CandidatesTokenCount + } + return 0 +} + +func (x *GenerateContentResponse_UsageMetadata) GetTotalTokenCount() int32 { + if x != nil { + return x.TotalTokenCount + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x36, + 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, + 0x12, 0x3d, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x27, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, + 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x52, + 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, + 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, + 0x79, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xea, 0x01, 0x0a, 0x14, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x48, + 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x07, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x22, 0x98, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x32, 0x0a, 0x18, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, + 0xfa, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x4d, 0x0a, + 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xab, 0x01, 0x0a, + 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, + 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x38, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, + 0xed, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x06, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, + 0xa8, 0x01, 0x0a, 0x18, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, + 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x1a, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x35, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, + 0xb0, 0x05, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x75, 0x0a, + 0x19, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x17, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x21, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, + 0x1a, 0x8f, 0x01, 0x0a, 0x26, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4f, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xd4, 0x04, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x17, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x38, + 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6a, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x51, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x92, 0x01, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfe, 0x01, 0x0a, 0x12, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4a, + 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, 0x13, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, + 0x22, 0x87, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x5d, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe3, 0x06, 0x0a, 0x17, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, + 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x61, + 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x76, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, + 0x70, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, + 0x12, 0x6e, 0x0a, 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0xeb, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x12, 0x7e, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x46, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, + 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, + 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x1a, 0x9f, + 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, + 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, + 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x32, 0xc6, 0x19, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xaa, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x12, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x92, + 0x01, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x4d, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x12, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb4, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x50, 0x22, + 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, + 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x12, 0xd1, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, + 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xdd, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x47, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, + 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x3f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, + 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, + 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8f, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xcb, 0x02, 0x0a, 0x16, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x5c, 0x22, 0x57, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, + 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, + 0x30, 0x01, 0x12, 0xeb, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x12, 0xb3, 0x02, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x51, + 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x01, + 0x2a, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbd, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xb4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, + 0x2a, 0x5a, 0x52, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xd1, 0x02, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x12, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa8, 0x01, 0x22, + 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x58, 0x22, + 0x53, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x30, 0x01, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xee, 0x01, 0x0a, 0x24, 0x63, 0x6f, + 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_goTypes = []interface{}{ + (GenerateContentResponse_PromptFeedback_BlockedReason)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.BlockedReason + (*PredictRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.PredictRequest + (*PredictResponse)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.PredictResponse + (*RawPredictRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.RawPredictRequest + (*DirectPredictRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.DirectPredictRequest + (*DirectPredictResponse)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DirectPredictResponse + (*DirectRawPredictRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.DirectRawPredictRequest + (*DirectRawPredictResponse)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.DirectRawPredictResponse + (*StreamDirectPredictRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictRequest + (*StreamDirectPredictResponse)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictResponse + (*StreamDirectRawPredictRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest + (*StreamDirectRawPredictResponse)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictResponse + (*StreamingPredictRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest + (*StreamingPredictResponse)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictResponse + (*StreamingRawPredictRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest + (*StreamingRawPredictResponse)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictResponse + (*ExplainRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest + (*ExplainResponse)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse + (*CountTokensRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.CountTokensRequest + (*CountTokensResponse)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.CountTokensResponse + (*GenerateContentRequest)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest + (*GenerateContentResponse)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse + nil, // 22: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry + (*ExplainResponse_ConcurrentExplanation)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation + nil, // 24: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry + (*GenerateContentResponse_PromptFeedback)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback + (*GenerateContentResponse_UsageMetadata)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata + (*_struct.Value)(nil), // 27: google.protobuf.Value + (*httpbody.HttpBody)(nil), // 28: google.api.HttpBody + (*Tensor)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.Tensor + (*ExplanationSpecOverride)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride + (*Explanation)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.Explanation + (*Content)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.Content + (*Tool)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.Tool + (*SafetySetting)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.SafetySetting + (*GenerationConfig)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.GenerationConfig + (*Candidate)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.Candidate + (*SafetyRating)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.SafetyRating +} +var file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_depIdxs = []int32{ + 27, // 0: mockgcp.cloud.aiplatform.v1beta1.PredictRequest.instances:type_name -> google.protobuf.Value + 27, // 1: mockgcp.cloud.aiplatform.v1beta1.PredictRequest.parameters:type_name -> google.protobuf.Value + 27, // 2: mockgcp.cloud.aiplatform.v1beta1.PredictResponse.predictions:type_name -> google.protobuf.Value + 27, // 3: mockgcp.cloud.aiplatform.v1beta1.PredictResponse.metadata:type_name -> google.protobuf.Value + 28, // 4: mockgcp.cloud.aiplatform.v1beta1.RawPredictRequest.http_body:type_name -> google.api.HttpBody + 29, // 5: mockgcp.cloud.aiplatform.v1beta1.DirectPredictRequest.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 6: mockgcp.cloud.aiplatform.v1beta1.DirectPredictRequest.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 7: mockgcp.cloud.aiplatform.v1beta1.DirectPredictResponse.outputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 8: mockgcp.cloud.aiplatform.v1beta1.DirectPredictResponse.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 9: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 10: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 11: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.outputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 12: mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 13: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest.inputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 14: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 15: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictResponse.outputs:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 29, // 16: mockgcp.cloud.aiplatform.v1beta1.StreamingPredictResponse.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensor + 27, // 17: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.instances:type_name -> google.protobuf.Value + 27, // 18: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.parameters:type_name -> google.protobuf.Value + 30, // 19: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.explanation_spec_override:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride + 22, // 20: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.concurrent_explanation_spec_override:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry + 31, // 21: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.explanations:type_name -> mockgcp.cloud.aiplatform.v1beta1.Explanation + 24, // 22: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.concurrent_explanations:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry + 27, // 23: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.predictions:type_name -> google.protobuf.Value + 27, // 24: mockgcp.cloud.aiplatform.v1beta1.CountTokensRequest.instances:type_name -> google.protobuf.Value + 32, // 25: mockgcp.cloud.aiplatform.v1beta1.CountTokensRequest.contents:type_name -> mockgcp.cloud.aiplatform.v1beta1.Content + 32, // 26: mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest.contents:type_name -> mockgcp.cloud.aiplatform.v1beta1.Content + 33, // 27: mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest.tools:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tool + 34, // 28: mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest.safety_settings:type_name -> mockgcp.cloud.aiplatform.v1beta1.SafetySetting + 35, // 29: mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest.generation_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenerationConfig + 36, // 30: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.candidates:type_name -> mockgcp.cloud.aiplatform.v1beta1.Candidate + 25, // 31: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.prompt_feedback:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback + 26, // 32: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.usage_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata + 30, // 33: mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplanationSpecOverride + 31, // 34: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation.explanations:type_name -> mockgcp.cloud.aiplatform.v1beta1.Explanation + 23, // 35: mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation + 0, // 36: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.BlockedReason + 37, // 37: mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> mockgcp.cloud.aiplatform.v1beta1.SafetyRating + 1, // 38: mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict:input_type -> mockgcp.cloud.aiplatform.v1beta1.PredictRequest + 3, // 39: mockgcp.cloud.aiplatform.v1beta1.PredictionService.RawPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.RawPredictRequest + 4, // 40: mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.DirectPredictRequest + 6, // 41: mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.DirectRawPredictRequest + 8, // 42: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictRequest + 10, // 43: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest + 12, // 44: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest + 12, // 45: mockgcp.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingPredictRequest + 14, // 46: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:input_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictRequest + 16, // 47: mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain:input_type -> mockgcp.cloud.aiplatform.v1beta1.ExplainRequest + 18, // 48: mockgcp.cloud.aiplatform.v1beta1.PredictionService.CountTokens:input_type -> mockgcp.cloud.aiplatform.v1beta1.CountTokensRequest + 20, // 49: mockgcp.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:input_type -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest + 20, // 50: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:input_type -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentRequest + 2, // 51: mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict:output_type -> mockgcp.cloud.aiplatform.v1beta1.PredictResponse + 28, // 52: mockgcp.cloud.aiplatform.v1beta1.PredictionService.RawPredict:output_type -> google.api.HttpBody + 5, // 53: mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.DirectPredictResponse + 7, // 54: mockgcp.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.DirectRawPredictResponse + 9, // 55: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.StreamDirectPredictResponse + 11, // 56: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.StreamDirectRawPredictResponse + 13, // 57: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingPredictResponse + 13, // 58: mockgcp.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingPredictResponse + 15, // 59: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:output_type -> mockgcp.cloud.aiplatform.v1beta1.StreamingRawPredictResponse + 17, // 60: mockgcp.cloud.aiplatform.v1beta1.PredictionService.Explain:output_type -> mockgcp.cloud.aiplatform.v1beta1.ExplainResponse + 19, // 61: mockgcp.cloud.aiplatform.v1beta1.PredictionService.CountTokens:output_type -> mockgcp.cloud.aiplatform.v1beta1.CountTokensResponse + 21, // 62: mockgcp.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:output_type -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse + 21, // 63: mockgcp.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:output_type -> mockgcp.cloud.aiplatform.v1beta1.GenerateContentResponse + 51, // [51:64] is the sub-list for method output_type + 38, // [38:51] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_content_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_explanation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RawPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectRawPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DirectRawPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamDirectPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamDirectPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamDirectRawPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamDirectRawPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingRawPredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamingRawPredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplainRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplainResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountTokensRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CountTokensResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplainResponse_ConcurrentExplanation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContentResponse_PromptFeedback); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateContentResponse_UsageMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 26, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_prediction_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.gw.go new file mode 100644 index 0000000000..ae1c2f222f --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service.pb.gw.go @@ -0,0 +1,1695 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/prediction_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_PredictionService_Predict_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.Predict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_Predict_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.Predict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_Predict_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.Predict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_Predict_1(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.Predict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_RawPredict_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.RawPredict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_RawPredict_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.RawPredict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_RawPredict_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.RawPredict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_RawPredict_1(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq RawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.RawPredict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_DirectPredict_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DirectPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.DirectPredict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_DirectPredict_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DirectPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.DirectPredict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_DirectRawPredict_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DirectRawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.DirectRawPredict(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_DirectRawPredict_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DirectRawPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.DirectRawPredict(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_ServerStreamingPredict_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (PredictionService_ServerStreamingPredictClient, runtime.ServerMetadata, error) { + var protoReq StreamingPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + stream, err := client.ServerStreamingPredict(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_PredictionService_ServerStreamingPredict_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (PredictionService_ServerStreamingPredictClient, runtime.ServerMetadata, error) { + var protoReq StreamingPredictRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + stream, err := client.ServerStreamingPredict(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_PredictionService_Explain_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExplainRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.Explain(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_Explain_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExplainRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.Explain(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_CountTokens_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CountTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.CountTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_CountTokens_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CountTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.CountTokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_CountTokens_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CountTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := client.CountTokens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_CountTokens_1(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CountTokensRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["endpoint"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "endpoint") + } + + protoReq.Endpoint, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "endpoint", err) + } + + msg, err := server.CountTokens(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_GenerateContent_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := client.GenerateContent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_GenerateContent_0(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := server.GenerateContent(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_GenerateContent_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := client.GenerateContent(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_PredictionService_GenerateContent_1(ctx context.Context, marshaler runtime.Marshaler, server PredictionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + msg, err := server.GenerateContent(ctx, &protoReq) + return msg, metadata, err + +} + +func request_PredictionService_StreamGenerateContent_0(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (PredictionService_StreamGenerateContentClient, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + stream, err := client.StreamGenerateContent(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_PredictionService_StreamGenerateContent_1(ctx context.Context, marshaler runtime.Marshaler, client PredictionServiceClient, req *http.Request, pathParams map[string]string) (PredictionService_StreamGenerateContentClient, runtime.ServerMetadata, error) { + var protoReq GenerateContentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["model"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "model") + } + + protoReq.Model, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "model", err) + } + + stream, err := client.StreamGenerateContent(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +// RegisterPredictionServiceHandlerServer registers the http handlers for service PredictionService to "mux". +// UnaryRPC :call PredictionServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPredictionServiceHandlerFromEndpoint instead. +func RegisterPredictionServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PredictionServiceServer) error { + + mux.Handle("POST", pattern_PredictionService_Predict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:predict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_Predict_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Predict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_Predict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:predict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_Predict_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Predict_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_RawPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:rawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_RawPredict_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_RawPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_RawPredict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:rawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_RawPredict_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_RawPredict_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_DirectPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:directPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_DirectPredict_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_DirectPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_DirectRawPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectRawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:directRawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_DirectRawPredict_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_DirectRawPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_ServerStreamingPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_PredictionService_ServerStreamingPredict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_PredictionService_Explain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Explain", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:explain")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_Explain_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Explain_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_CountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:countTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_CountTokens_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_CountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_CountTokens_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:countTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_CountTokens_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_CountTokens_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_GenerateContent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/endpoints/*}:generateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_GenerateContent_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_GenerateContent_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_GenerateContent_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/publishers/*/models/*}:generateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_PredictionService_GenerateContent_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_GenerateContent_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_StreamGenerateContent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_PredictionService_StreamGenerateContent_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + return nil +} + +// RegisterPredictionServiceHandlerFromEndpoint is same as RegisterPredictionServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterPredictionServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterPredictionServiceHandler(ctx, mux, conn) +} + +// RegisterPredictionServiceHandler registers the http handlers for service PredictionService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterPredictionServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterPredictionServiceHandlerClient(ctx, mux, NewPredictionServiceClient(conn)) +} + +// RegisterPredictionServiceHandlerClient registers the http handlers for service PredictionService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PredictionServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PredictionServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "PredictionServiceClient" to call the correct interceptors. +func RegisterPredictionServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PredictionServiceClient) error { + + mux.Handle("POST", pattern_PredictionService_Predict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:predict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_Predict_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Predict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_Predict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:predict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_Predict_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Predict_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_RawPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:rawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_RawPredict_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_RawPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_RawPredict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:rawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_RawPredict_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_RawPredict_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_DirectPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:directPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_DirectPredict_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_DirectPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_DirectRawPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectRawPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:directRawPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_DirectRawPredict_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_DirectRawPredict_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_ServerStreamingPredict_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/ServerStreamingPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:serverStreamingPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_ServerStreamingPredict_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_ServerStreamingPredict_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_ServerStreamingPredict_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/ServerStreamingPredict", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:serverStreamingPredict")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_ServerStreamingPredict_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_ServerStreamingPredict_1(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_Explain_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Explain", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:explain")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_Explain_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_Explain_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_CountTokens_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/endpoints/*}:countTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_CountTokens_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_CountTokens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_CountTokens_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", runtime.WithHTTPPathPattern("/v1beta1/{endpoint=projects/*/locations/*/publishers/*/models/*}:countTokens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_CountTokens_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_CountTokens_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_GenerateContent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/endpoints/*}:generateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_GenerateContent_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_GenerateContent_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_GenerateContent_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/publishers/*/models/*}:generateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_GenerateContent_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_GenerateContent_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_StreamGenerateContent_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamGenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/endpoints/*}:streamGenerateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_StreamGenerateContent_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_StreamGenerateContent_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_PredictionService_StreamGenerateContent_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamGenerateContent", runtime.WithHTTPPathPattern("/v1beta1/{model=projects/*/locations/*/publishers/*/models/*}:streamGenerateContent")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_PredictionService_StreamGenerateContent_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_PredictionService_StreamGenerateContent_1(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_PredictionService_Predict_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "predict")) + + pattern_PredictionService_Predict_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "endpoint"}, "predict")) + + pattern_PredictionService_RawPredict_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "rawPredict")) + + pattern_PredictionService_RawPredict_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "endpoint"}, "rawPredict")) + + pattern_PredictionService_DirectPredict_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "directPredict")) + + pattern_PredictionService_DirectRawPredict_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "directRawPredict")) + + pattern_PredictionService_ServerStreamingPredict_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "serverStreamingPredict")) + + pattern_PredictionService_ServerStreamingPredict_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "endpoint"}, "serverStreamingPredict")) + + pattern_PredictionService_Explain_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "explain")) + + pattern_PredictionService_CountTokens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "endpoint"}, "countTokens")) + + pattern_PredictionService_CountTokens_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "endpoint"}, "countTokens")) + + pattern_PredictionService_GenerateContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "model"}, "generateContent")) + + pattern_PredictionService_GenerateContent_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "model"}, "generateContent")) + + pattern_PredictionService_StreamGenerateContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "endpoints", "model"}, "streamGenerateContent")) + + pattern_PredictionService_StreamGenerateContent_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "publishers", "models", "model"}, "streamGenerateContent")) +) + +var ( + forward_PredictionService_Predict_0 = runtime.ForwardResponseMessage + + forward_PredictionService_Predict_1 = runtime.ForwardResponseMessage + + forward_PredictionService_RawPredict_0 = runtime.ForwardResponseMessage + + forward_PredictionService_RawPredict_1 = runtime.ForwardResponseMessage + + forward_PredictionService_DirectPredict_0 = runtime.ForwardResponseMessage + + forward_PredictionService_DirectRawPredict_0 = runtime.ForwardResponseMessage + + forward_PredictionService_ServerStreamingPredict_0 = runtime.ForwardResponseStream + + forward_PredictionService_ServerStreamingPredict_1 = runtime.ForwardResponseStream + + forward_PredictionService_Explain_0 = runtime.ForwardResponseMessage + + forward_PredictionService_CountTokens_0 = runtime.ForwardResponseMessage + + forward_PredictionService_CountTokens_1 = runtime.ForwardResponseMessage + + forward_PredictionService_GenerateContent_0 = runtime.ForwardResponseMessage + + forward_PredictionService_GenerateContent_1 = runtime.ForwardResponseMessage + + forward_PredictionService_StreamGenerateContent_0 = runtime.ForwardResponseStream + + forward_PredictionService_StreamGenerateContent_1 = runtime.ForwardResponseStream +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service_grpc.pb.go new file mode 100644 index 0000000000..39af96dce4 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/prediction_service_grpc.pb.go @@ -0,0 +1,799 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/prediction_service.proto + +package aiplatformpb + +import ( + context "context" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// PredictionServiceClient is the client API for PredictionService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type PredictionServiceClient interface { + // Perform an online prediction. + Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) + // Perform an online prediction with an arbitrary HTTP payload. + // + // The response includes the following HTTP headers: + // + // * `X-Vertex-AI-Endpoint-Id`: ID of the + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] that served this + // prediction. + // + // * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's + // [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] that served + // this prediction. + RawPredict(ctx context.Context, in *RawPredictRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) + // Perform an unary online prediction request to a gRPC model server for + // Vertex first-party products and frameworks. + DirectPredict(ctx context.Context, in *DirectPredictRequest, opts ...grpc.CallOption) (*DirectPredictResponse, error) + // Perform an unary online prediction request to a gRPC model server for + // custom containers. + DirectRawPredict(ctx context.Context, in *DirectRawPredictRequest, opts ...grpc.CallOption) (*DirectRawPredictResponse, error) + // Perform a streaming online prediction request to a gRPC model server for + // Vertex first-party products and frameworks. + StreamDirectPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamDirectPredictClient, error) + // Perform a streaming online prediction request to a gRPC model server for + // custom containers. + StreamDirectRawPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamDirectRawPredictClient, error) + // Perform a streaming online prediction request for Vertex first-party + // products and frameworks. + StreamingPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamingPredictClient, error) + // Perform a server-side streaming online prediction request for Vertex + // LLM streaming. + ServerStreamingPredict(ctx context.Context, in *StreamingPredictRequest, opts ...grpc.CallOption) (PredictionService_ServerStreamingPredictClient, error) + // Perform a streaming online prediction request through gRPC. + StreamingRawPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamingRawPredictClient, error) + // Perform an online explanation. + // + // If + // [deployed_model_id][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is specified, the corresponding DeployModel must have + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. If + // [deployed_model_id][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is not specified, all DeployedModels must have + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. + Explain(ctx context.Context, in *ExplainRequest, opts ...grpc.CallOption) (*ExplainResponse, error) + // Perform a token counting. + CountTokens(ctx context.Context, in *CountTokensRequest, opts ...grpc.CallOption) (*CountTokensResponse, error) + // Generate content with multimodal inputs. + GenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (*GenerateContentResponse, error) + // Generate content with multimodal inputs with streaming support. + StreamGenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (PredictionService_StreamGenerateContentClient, error) +} + +type predictionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPredictionServiceClient(cc grpc.ClientConnInterface) PredictionServiceClient { + return &predictionServiceClient{cc} +} + +func (c *predictionServiceClient) Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) { + out := new(PredictResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) RawPredict(ctx context.Context, in *RawPredictRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { + out := new(httpbody.HttpBody) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) DirectPredict(ctx context.Context, in *DirectPredictRequest, opts ...grpc.CallOption) (*DirectPredictResponse, error) { + out := new(DirectPredictResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectPredict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) DirectRawPredict(ctx context.Context, in *DirectRawPredictRequest, opts ...grpc.CallOption) (*DirectRawPredictResponse, error) { + out := new(DirectRawPredictResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectRawPredict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) StreamDirectPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamDirectPredictClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[0], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamDirectPredict", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceStreamDirectPredictClient{stream} + return x, nil +} + +type PredictionService_StreamDirectPredictClient interface { + Send(*StreamDirectPredictRequest) error + Recv() (*StreamDirectPredictResponse, error) + grpc.ClientStream +} + +type predictionServiceStreamDirectPredictClient struct { + grpc.ClientStream +} + +func (x *predictionServiceStreamDirectPredictClient) Send(m *StreamDirectPredictRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *predictionServiceStreamDirectPredictClient) Recv() (*StreamDirectPredictResponse, error) { + m := new(StreamDirectPredictResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *predictionServiceClient) StreamDirectRawPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamDirectRawPredictClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[1], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamDirectRawPredict", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceStreamDirectRawPredictClient{stream} + return x, nil +} + +type PredictionService_StreamDirectRawPredictClient interface { + Send(*StreamDirectRawPredictRequest) error + Recv() (*StreamDirectRawPredictResponse, error) + grpc.ClientStream +} + +type predictionServiceStreamDirectRawPredictClient struct { + grpc.ClientStream +} + +func (x *predictionServiceStreamDirectRawPredictClient) Send(m *StreamDirectRawPredictRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *predictionServiceStreamDirectRawPredictClient) Recv() (*StreamDirectRawPredictResponse, error) { + m := new(StreamDirectRawPredictResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *predictionServiceClient) StreamingPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamingPredictClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[2], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamingPredict", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceStreamingPredictClient{stream} + return x, nil +} + +type PredictionService_StreamingPredictClient interface { + Send(*StreamingPredictRequest) error + Recv() (*StreamingPredictResponse, error) + grpc.ClientStream +} + +type predictionServiceStreamingPredictClient struct { + grpc.ClientStream +} + +func (x *predictionServiceStreamingPredictClient) Send(m *StreamingPredictRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *predictionServiceStreamingPredictClient) Recv() (*StreamingPredictResponse, error) { + m := new(StreamingPredictResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *predictionServiceClient) ServerStreamingPredict(ctx context.Context, in *StreamingPredictRequest, opts ...grpc.CallOption) (PredictionService_ServerStreamingPredictClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[3], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/ServerStreamingPredict", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceServerStreamingPredictClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type PredictionService_ServerStreamingPredictClient interface { + Recv() (*StreamingPredictResponse, error) + grpc.ClientStream +} + +type predictionServiceServerStreamingPredictClient struct { + grpc.ClientStream +} + +func (x *predictionServiceServerStreamingPredictClient) Recv() (*StreamingPredictResponse, error) { + m := new(StreamingPredictResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *predictionServiceClient) StreamingRawPredict(ctx context.Context, opts ...grpc.CallOption) (PredictionService_StreamingRawPredictClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[4], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamingRawPredict", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceStreamingRawPredictClient{stream} + return x, nil +} + +type PredictionService_StreamingRawPredictClient interface { + Send(*StreamingRawPredictRequest) error + Recv() (*StreamingRawPredictResponse, error) + grpc.ClientStream +} + +type predictionServiceStreamingRawPredictClient struct { + grpc.ClientStream +} + +func (x *predictionServiceStreamingRawPredictClient) Send(m *StreamingRawPredictRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *predictionServiceStreamingRawPredictClient) Recv() (*StreamingRawPredictResponse, error) { + m := new(StreamingRawPredictResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *predictionServiceClient) Explain(ctx context.Context, in *ExplainRequest, opts ...grpc.CallOption) (*ExplainResponse, error) { + out := new(ExplainResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Explain", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) CountTokens(ctx context.Context, in *CountTokensRequest, opts ...grpc.CallOption) (*CountTokensResponse, error) { + out := new(CountTokensResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) GenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (*GenerateContentResponse, error) { + out := new(GenerateContentResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *predictionServiceClient) StreamGenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (PredictionService_StreamGenerateContentClient, error) { + stream, err := c.cc.NewStream(ctx, &PredictionService_ServiceDesc.Streams[5], "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/StreamGenerateContent", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceStreamGenerateContentClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type PredictionService_StreamGenerateContentClient interface { + Recv() (*GenerateContentResponse, error) + grpc.ClientStream +} + +type predictionServiceStreamGenerateContentClient struct { + grpc.ClientStream +} + +func (x *predictionServiceStreamGenerateContentClient) Recv() (*GenerateContentResponse, error) { + m := new(GenerateContentResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// PredictionServiceServer is the server API for PredictionService service. +// All implementations must embed UnimplementedPredictionServiceServer +// for forward compatibility +type PredictionServiceServer interface { + // Perform an online prediction. + Predict(context.Context, *PredictRequest) (*PredictResponse, error) + // Perform an online prediction with an arbitrary HTTP payload. + // + // The response includes the following HTTP headers: + // + // * `X-Vertex-AI-Endpoint-Id`: ID of the + // [Endpoint][mockgcp.cloud.aiplatform.v1beta1.Endpoint] that served this + // prediction. + // + // * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's + // [DeployedModel][mockgcp.cloud.aiplatform.v1beta1.DeployedModel] that served + // this prediction. + RawPredict(context.Context, *RawPredictRequest) (*httpbody.HttpBody, error) + // Perform an unary online prediction request to a gRPC model server for + // Vertex first-party products and frameworks. + DirectPredict(context.Context, *DirectPredictRequest) (*DirectPredictResponse, error) + // Perform an unary online prediction request to a gRPC model server for + // custom containers. + DirectRawPredict(context.Context, *DirectRawPredictRequest) (*DirectRawPredictResponse, error) + // Perform a streaming online prediction request to a gRPC model server for + // Vertex first-party products and frameworks. + StreamDirectPredict(PredictionService_StreamDirectPredictServer) error + // Perform a streaming online prediction request to a gRPC model server for + // custom containers. + StreamDirectRawPredict(PredictionService_StreamDirectRawPredictServer) error + // Perform a streaming online prediction request for Vertex first-party + // products and frameworks. + StreamingPredict(PredictionService_StreamingPredictServer) error + // Perform a server-side streaming online prediction request for Vertex + // LLM streaming. + ServerStreamingPredict(*StreamingPredictRequest, PredictionService_ServerStreamingPredictServer) error + // Perform a streaming online prediction request through gRPC. + StreamingRawPredict(PredictionService_StreamingRawPredictServer) error + // Perform an online explanation. + // + // If + // [deployed_model_id][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is specified, the corresponding DeployModel must have + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. If + // [deployed_model_id][mockgcp.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id] + // is not specified, all DeployedModels must have + // [explanation_spec][mockgcp.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] + // populated. + Explain(context.Context, *ExplainRequest) (*ExplainResponse, error) + // Perform a token counting. + CountTokens(context.Context, *CountTokensRequest) (*CountTokensResponse, error) + // Generate content with multimodal inputs. + GenerateContent(context.Context, *GenerateContentRequest) (*GenerateContentResponse, error) + // Generate content with multimodal inputs with streaming support. + StreamGenerateContent(*GenerateContentRequest, PredictionService_StreamGenerateContentServer) error + mustEmbedUnimplementedPredictionServiceServer() +} + +// UnimplementedPredictionServiceServer must be embedded to have forward compatible implementations. +type UnimplementedPredictionServiceServer struct { +} + +func (UnimplementedPredictionServiceServer) Predict(context.Context, *PredictRequest) (*PredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Predict not implemented") +} +func (UnimplementedPredictionServiceServer) RawPredict(context.Context, *RawPredictRequest) (*httpbody.HttpBody, error) { + return nil, status.Errorf(codes.Unimplemented, "method RawPredict not implemented") +} +func (UnimplementedPredictionServiceServer) DirectPredict(context.Context, *DirectPredictRequest) (*DirectPredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DirectPredict not implemented") +} +func (UnimplementedPredictionServiceServer) DirectRawPredict(context.Context, *DirectRawPredictRequest) (*DirectRawPredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DirectRawPredict not implemented") +} +func (UnimplementedPredictionServiceServer) StreamDirectPredict(PredictionService_StreamDirectPredictServer) error { + return status.Errorf(codes.Unimplemented, "method StreamDirectPredict not implemented") +} +func (UnimplementedPredictionServiceServer) StreamDirectRawPredict(PredictionService_StreamDirectRawPredictServer) error { + return status.Errorf(codes.Unimplemented, "method StreamDirectRawPredict not implemented") +} +func (UnimplementedPredictionServiceServer) StreamingPredict(PredictionService_StreamingPredictServer) error { + return status.Errorf(codes.Unimplemented, "method StreamingPredict not implemented") +} +func (UnimplementedPredictionServiceServer) ServerStreamingPredict(*StreamingPredictRequest, PredictionService_ServerStreamingPredictServer) error { + return status.Errorf(codes.Unimplemented, "method ServerStreamingPredict not implemented") +} +func (UnimplementedPredictionServiceServer) StreamingRawPredict(PredictionService_StreamingRawPredictServer) error { + return status.Errorf(codes.Unimplemented, "method StreamingRawPredict not implemented") +} +func (UnimplementedPredictionServiceServer) Explain(context.Context, *ExplainRequest) (*ExplainResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Explain not implemented") +} +func (UnimplementedPredictionServiceServer) CountTokens(context.Context, *CountTokensRequest) (*CountTokensResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountTokens not implemented") +} +func (UnimplementedPredictionServiceServer) GenerateContent(context.Context, *GenerateContentRequest) (*GenerateContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateContent not implemented") +} +func (UnimplementedPredictionServiceServer) StreamGenerateContent(*GenerateContentRequest, PredictionService_StreamGenerateContentServer) error { + return status.Errorf(codes.Unimplemented, "method StreamGenerateContent not implemented") +} +func (UnimplementedPredictionServiceServer) mustEmbedUnimplementedPredictionServiceServer() {} + +// UnsafePredictionServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PredictionServiceServer will +// result in compilation errors. +type UnsafePredictionServiceServer interface { + mustEmbedUnimplementedPredictionServiceServer() +} + +func RegisterPredictionServiceServer(s grpc.ServiceRegistrar, srv PredictionServiceServer) { + s.RegisterService(&PredictionService_ServiceDesc, srv) +} + +func _PredictionService_Predict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).Predict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Predict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).Predict(ctx, req.(*PredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_RawPredict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RawPredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).RawPredict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/RawPredict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).RawPredict(ctx, req.(*RawPredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_DirectPredict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DirectPredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).DirectPredict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectPredict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).DirectPredict(ctx, req.(*DirectPredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_DirectRawPredict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DirectRawPredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).DirectRawPredict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/DirectRawPredict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).DirectRawPredict(ctx, req.(*DirectRawPredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_StreamDirectPredict_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(PredictionServiceServer).StreamDirectPredict(&predictionServiceStreamDirectPredictServer{stream}) +} + +type PredictionService_StreamDirectPredictServer interface { + Send(*StreamDirectPredictResponse) error + Recv() (*StreamDirectPredictRequest, error) + grpc.ServerStream +} + +type predictionServiceStreamDirectPredictServer struct { + grpc.ServerStream +} + +func (x *predictionServiceStreamDirectPredictServer) Send(m *StreamDirectPredictResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *predictionServiceStreamDirectPredictServer) Recv() (*StreamDirectPredictRequest, error) { + m := new(StreamDirectPredictRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _PredictionService_StreamDirectRawPredict_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(PredictionServiceServer).StreamDirectRawPredict(&predictionServiceStreamDirectRawPredictServer{stream}) +} + +type PredictionService_StreamDirectRawPredictServer interface { + Send(*StreamDirectRawPredictResponse) error + Recv() (*StreamDirectRawPredictRequest, error) + grpc.ServerStream +} + +type predictionServiceStreamDirectRawPredictServer struct { + grpc.ServerStream +} + +func (x *predictionServiceStreamDirectRawPredictServer) Send(m *StreamDirectRawPredictResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *predictionServiceStreamDirectRawPredictServer) Recv() (*StreamDirectRawPredictRequest, error) { + m := new(StreamDirectRawPredictRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _PredictionService_StreamingPredict_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(PredictionServiceServer).StreamingPredict(&predictionServiceStreamingPredictServer{stream}) +} + +type PredictionService_StreamingPredictServer interface { + Send(*StreamingPredictResponse) error + Recv() (*StreamingPredictRequest, error) + grpc.ServerStream +} + +type predictionServiceStreamingPredictServer struct { + grpc.ServerStream +} + +func (x *predictionServiceStreamingPredictServer) Send(m *StreamingPredictResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *predictionServiceStreamingPredictServer) Recv() (*StreamingPredictRequest, error) { + m := new(StreamingPredictRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _PredictionService_ServerStreamingPredict_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamingPredictRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(PredictionServiceServer).ServerStreamingPredict(m, &predictionServiceServerStreamingPredictServer{stream}) +} + +type PredictionService_ServerStreamingPredictServer interface { + Send(*StreamingPredictResponse) error + grpc.ServerStream +} + +type predictionServiceServerStreamingPredictServer struct { + grpc.ServerStream +} + +func (x *predictionServiceServerStreamingPredictServer) Send(m *StreamingPredictResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _PredictionService_StreamingRawPredict_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(PredictionServiceServer).StreamingRawPredict(&predictionServiceStreamingRawPredictServer{stream}) +} + +type PredictionService_StreamingRawPredictServer interface { + Send(*StreamingRawPredictResponse) error + Recv() (*StreamingRawPredictRequest, error) + grpc.ServerStream +} + +type predictionServiceStreamingRawPredictServer struct { + grpc.ServerStream +} + +func (x *predictionServiceStreamingRawPredictServer) Send(m *StreamingRawPredictResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *predictionServiceStreamingRawPredictServer) Recv() (*StreamingRawPredictRequest, error) { + m := new(StreamingRawPredictRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _PredictionService_Explain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExplainRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).Explain(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/Explain", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).Explain(ctx, req.(*ExplainRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_CountTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountTokensRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).CountTokens(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/CountTokens", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).CountTokens(ctx, req.(*CountTokensRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_GenerateContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateContentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).GenerateContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.PredictionService/GenerateContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).GenerateContent(ctx, req.(*GenerateContentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PredictionService_StreamGenerateContent_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(GenerateContentRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(PredictionServiceServer).StreamGenerateContent(m, &predictionServiceStreamGenerateContentServer{stream}) +} + +type PredictionService_StreamGenerateContentServer interface { + Send(*GenerateContentResponse) error + grpc.ServerStream +} + +type predictionServiceStreamGenerateContentServer struct { + grpc.ServerStream +} + +func (x *predictionServiceStreamGenerateContentServer) Send(m *GenerateContentResponse) error { + return x.ServerStream.SendMsg(m) +} + +// PredictionService_ServiceDesc is the grpc.ServiceDesc for PredictionService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PredictionService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.PredictionService", + HandlerType: (*PredictionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Predict", + Handler: _PredictionService_Predict_Handler, + }, + { + MethodName: "RawPredict", + Handler: _PredictionService_RawPredict_Handler, + }, + { + MethodName: "DirectPredict", + Handler: _PredictionService_DirectPredict_Handler, + }, + { + MethodName: "DirectRawPredict", + Handler: _PredictionService_DirectRawPredict_Handler, + }, + { + MethodName: "Explain", + Handler: _PredictionService_Explain_Handler, + }, + { + MethodName: "CountTokens", + Handler: _PredictionService_CountTokens_Handler, + }, + { + MethodName: "GenerateContent", + Handler: _PredictionService_GenerateContent_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamDirectPredict", + Handler: _PredictionService_StreamDirectPredict_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "StreamDirectRawPredict", + Handler: _PredictionService_StreamDirectRawPredict_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "StreamingPredict", + Handler: _PredictionService_StreamingPredict_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "ServerStreamingPredict", + Handler: _PredictionService_ServerStreamingPredict_Handler, + ServerStreams: true, + }, + { + StreamName: "StreamingRawPredict", + Handler: _PredictionService_StreamingRawPredict_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "StreamGenerateContent", + Handler: _PredictionService_StreamGenerateContent_Handler, + ServerStreams: true, + }, + }, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/prediction_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/publisher_model.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/publisher_model.pb.go new file mode 100644 index 0000000000..8031f4762b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/publisher_model.pb.go @@ -0,0 +1,1829 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/publisher_model.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An enum representing the open source category of a PublisherModel. +type PublisherModel_OpenSourceCategory int32 + +const ( + // The open source category is unspecified, which should not be used. + PublisherModel_OPEN_SOURCE_CATEGORY_UNSPECIFIED PublisherModel_OpenSourceCategory = 0 + // Used to indicate the PublisherModel is not open sourced. + PublisherModel_PROPRIETARY PublisherModel_OpenSourceCategory = 1 + // Used to indicate the PublisherModel is a Google-owned open source model + // w/ Google checkpoint. + PublisherModel_GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT PublisherModel_OpenSourceCategory = 2 + // Used to indicate the PublisherModel is a 3p-owned open source model w/ + // Google checkpoint. + PublisherModel_THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT PublisherModel_OpenSourceCategory = 3 + // Used to indicate the PublisherModel is a Google-owned pure open source + // model. + PublisherModel_GOOGLE_OWNED_OSS PublisherModel_OpenSourceCategory = 4 + // Used to indicate the PublisherModel is a 3p-owned pure open source model. + PublisherModel_THIRD_PARTY_OWNED_OSS PublisherModel_OpenSourceCategory = 5 +) + +// Enum value maps for PublisherModel_OpenSourceCategory. +var ( + PublisherModel_OpenSourceCategory_name = map[int32]string{ + 0: "OPEN_SOURCE_CATEGORY_UNSPECIFIED", + 1: "PROPRIETARY", + 2: "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", + 3: "THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT", + 4: "GOOGLE_OWNED_OSS", + 5: "THIRD_PARTY_OWNED_OSS", + } + PublisherModel_OpenSourceCategory_value = map[string]int32{ + "OPEN_SOURCE_CATEGORY_UNSPECIFIED": 0, + "PROPRIETARY": 1, + "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT": 2, + "THIRD_PARTY_OWNED_OSS_WITH_GOOGLE_CHECKPOINT": 3, + "GOOGLE_OWNED_OSS": 4, + "THIRD_PARTY_OWNED_OSS": 5, + } +) + +func (x PublisherModel_OpenSourceCategory) Enum() *PublisherModel_OpenSourceCategory { + p := new(PublisherModel_OpenSourceCategory) + *p = x + return p +} + +func (x PublisherModel_OpenSourceCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublisherModel_OpenSourceCategory) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[0].Descriptor() +} + +func (PublisherModel_OpenSourceCategory) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[0] +} + +func (x PublisherModel_OpenSourceCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublisherModel_OpenSourceCategory.Descriptor instead. +func (PublisherModel_OpenSourceCategory) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 0} +} + +// An enum representing the launch stage of a PublisherModel. +type PublisherModel_LaunchStage int32 + +const ( + // The model launch stage is unspecified. + PublisherModel_LAUNCH_STAGE_UNSPECIFIED PublisherModel_LaunchStage = 0 + // Used to indicate the PublisherModel is at Experimental launch stage. + PublisherModel_EXPERIMENTAL PublisherModel_LaunchStage = 1 + // Used to indicate the PublisherModel is at Private Preview launch stage. + PublisherModel_PRIVATE_PREVIEW PublisherModel_LaunchStage = 2 + // Used to indicate the PublisherModel is at Public Preview launch stage. + PublisherModel_PUBLIC_PREVIEW PublisherModel_LaunchStage = 3 + // Used to indicate the PublisherModel is at GA launch stage. + PublisherModel_GA PublisherModel_LaunchStage = 4 +) + +// Enum value maps for PublisherModel_LaunchStage. +var ( + PublisherModel_LaunchStage_name = map[int32]string{ + 0: "LAUNCH_STAGE_UNSPECIFIED", + 1: "EXPERIMENTAL", + 2: "PRIVATE_PREVIEW", + 3: "PUBLIC_PREVIEW", + 4: "GA", + } + PublisherModel_LaunchStage_value = map[string]int32{ + "LAUNCH_STAGE_UNSPECIFIED": 0, + "EXPERIMENTAL": 1, + "PRIVATE_PREVIEW": 2, + "PUBLIC_PREVIEW": 3, + "GA": 4, + } +) + +func (x PublisherModel_LaunchStage) Enum() *PublisherModel_LaunchStage { + p := new(PublisherModel_LaunchStage) + *p = x + return p +} + +func (x PublisherModel_LaunchStage) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublisherModel_LaunchStage) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[1].Descriptor() +} + +func (PublisherModel_LaunchStage) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[1] +} + +func (x PublisherModel_LaunchStage) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublisherModel_LaunchStage.Descriptor instead. +func (PublisherModel_LaunchStage) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 1} +} + +// An enum representing the state of the PublicModelVersion. +type PublisherModel_VersionState int32 + +const ( + // The version state is unspecified. + PublisherModel_VERSION_STATE_UNSPECIFIED PublisherModel_VersionState = 0 + // Used to indicate the version is stable. + PublisherModel_VERSION_STATE_STABLE PublisherModel_VersionState = 1 + // Used to indicate the version is unstable. + PublisherModel_VERSION_STATE_UNSTABLE PublisherModel_VersionState = 2 +) + +// Enum value maps for PublisherModel_VersionState. +var ( + PublisherModel_VersionState_name = map[int32]string{ + 0: "VERSION_STATE_UNSPECIFIED", + 1: "VERSION_STATE_STABLE", + 2: "VERSION_STATE_UNSTABLE", + } + PublisherModel_VersionState_value = map[string]int32{ + "VERSION_STATE_UNSPECIFIED": 0, + "VERSION_STATE_STABLE": 1, + "VERSION_STATE_UNSTABLE": 2, + } +) + +func (x PublisherModel_VersionState) Enum() *PublisherModel_VersionState { + p := new(PublisherModel_VersionState) + *p = x + return p +} + +func (x PublisherModel_VersionState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublisherModel_VersionState) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[2].Descriptor() +} + +func (PublisherModel_VersionState) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes[2] +} + +func (x PublisherModel_VersionState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublisherModel_VersionState.Descriptor instead. +func (PublisherModel_VersionState) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 2} +} + +// A Model Garden Publisher Model. +type PublisherModel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the PublisherModel. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Immutable. The version ID of the PublisherModel. + // A new version is committed when a new model version is uploaded under an + // existing model id. It is an auto-incrementing decimal number in string + // representation. + VersionId string `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` + // Required. Indicates the open source category of the publisher model. + OpenSourceCategory PublisherModel_OpenSourceCategory `protobuf:"varint,7,opt,name=open_source_category,json=openSourceCategory,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PublisherModel_OpenSourceCategory" json:"open_source_category,omitempty"` + // Optional. The parent that this model was customized from. E.g., Vision API, + // Natural Language API, LaMDA, T5, etc. Foundation models don't have parents. + Parent *PublisherModel_Parent `protobuf:"bytes,14,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Supported call-to-action options. + SupportedActions *PublisherModel_CallToAction `protobuf:"bytes,19,opt,name=supported_actions,json=supportedActions,proto3" json:"supported_actions,omitempty"` + // Optional. Additional information about the model's Frameworks. + Frameworks []string `protobuf:"bytes,23,rep,name=frameworks,proto3" json:"frameworks,omitempty"` + // Optional. Indicates the launch stage of the model. + LaunchStage PublisherModel_LaunchStage `protobuf:"varint,29,opt,name=launch_stage,json=launchStage,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PublisherModel_LaunchStage" json:"launch_stage,omitempty"` + // Optional. Indicates the state of the model version. + VersionState PublisherModel_VersionState `protobuf:"varint,37,opt,name=version_state,json=versionState,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PublisherModel_VersionState" json:"version_state,omitempty"` + // Optional. Output only. Immutable. Used to indicate this model has a + // publisher model and provide the template of the publisher model resource + // name. + PublisherModelTemplate string `protobuf:"bytes,30,opt,name=publisher_model_template,json=publisherModelTemplate,proto3" json:"publisher_model_template,omitempty"` + // Optional. The schemata that describes formats of the PublisherModel's + // predictions and explanations as given and returned via + // [PredictionService.Predict][mockgcp.cloud.aiplatform.v1beta1.PredictionService.Predict]. + PredictSchemata *PredictSchemata `protobuf:"bytes,31,opt,name=predict_schemata,json=predictSchemata,proto3" json:"predict_schemata,omitempty"` +} + +func (x *PublisherModel) Reset() { + *x = PublisherModel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel) ProtoMessage() {} + +func (x *PublisherModel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[0] + 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 PublisherModel.ProtoReflect.Descriptor instead. +func (*PublisherModel) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0} +} + +func (x *PublisherModel) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PublisherModel) GetVersionId() string { + if x != nil { + return x.VersionId + } + return "" +} + +func (x *PublisherModel) GetOpenSourceCategory() PublisherModel_OpenSourceCategory { + if x != nil { + return x.OpenSourceCategory + } + return PublisherModel_OPEN_SOURCE_CATEGORY_UNSPECIFIED +} + +func (x *PublisherModel) GetParent() *PublisherModel_Parent { + if x != nil { + return x.Parent + } + return nil +} + +func (x *PublisherModel) GetSupportedActions() *PublisherModel_CallToAction { + if x != nil { + return x.SupportedActions + } + return nil +} + +func (x *PublisherModel) GetFrameworks() []string { + if x != nil { + return x.Frameworks + } + return nil +} + +func (x *PublisherModel) GetLaunchStage() PublisherModel_LaunchStage { + if x != nil { + return x.LaunchStage + } + return PublisherModel_LAUNCH_STAGE_UNSPECIFIED +} + +func (x *PublisherModel) GetVersionState() PublisherModel_VersionState { + if x != nil { + return x.VersionState + } + return PublisherModel_VERSION_STATE_UNSPECIFIED +} + +func (x *PublisherModel) GetPublisherModelTemplate() string { + if x != nil { + return x.PublisherModelTemplate + } + return "" +} + +func (x *PublisherModel) GetPredictSchemata() *PredictSchemata { + if x != nil { + return x.PredictSchemata + } + return nil +} + +// Reference to a resource. +type PublisherModel_ResourceReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Reference: + // + // *PublisherModel_ResourceReference_Uri + // *PublisherModel_ResourceReference_ResourceName + // *PublisherModel_ResourceReference_UseCase + // *PublisherModel_ResourceReference_Description + Reference isPublisherModel_ResourceReference_Reference `protobuf_oneof:"reference"` +} + +func (x *PublisherModel_ResourceReference) Reset() { + *x = PublisherModel_ResourceReference{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_ResourceReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_ResourceReference) ProtoMessage() {} + +func (x *PublisherModel_ResourceReference) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[1] + 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 PublisherModel_ResourceReference.ProtoReflect.Descriptor instead. +func (*PublisherModel_ResourceReference) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 0} +} + +func (m *PublisherModel_ResourceReference) GetReference() isPublisherModel_ResourceReference_Reference { + if m != nil { + return m.Reference + } + return nil +} + +func (x *PublisherModel_ResourceReference) GetUri() string { + if x, ok := x.GetReference().(*PublisherModel_ResourceReference_Uri); ok { + return x.Uri + } + return "" +} + +func (x *PublisherModel_ResourceReference) GetResourceName() string { + if x, ok := x.GetReference().(*PublisherModel_ResourceReference_ResourceName); ok { + return x.ResourceName + } + return "" +} + +// Deprecated: Do not use. +func (x *PublisherModel_ResourceReference) GetUseCase() string { + if x, ok := x.GetReference().(*PublisherModel_ResourceReference_UseCase); ok { + return x.UseCase + } + return "" +} + +// Deprecated: Do not use. +func (x *PublisherModel_ResourceReference) GetDescription() string { + if x, ok := x.GetReference().(*PublisherModel_ResourceReference_Description); ok { + return x.Description + } + return "" +} + +type isPublisherModel_ResourceReference_Reference interface { + isPublisherModel_ResourceReference_Reference() +} + +type PublisherModel_ResourceReference_Uri struct { + // The URI of the resource. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"` +} + +type PublisherModel_ResourceReference_ResourceName struct { + // The resource name of the Google Cloud resource. + ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3,oneof"` +} + +type PublisherModel_ResourceReference_UseCase struct { + // Use case (CUJ) of the resource. + // + // Deprecated: Do not use. + UseCase string `protobuf:"bytes,3,opt,name=use_case,json=useCase,proto3,oneof"` +} + +type PublisherModel_ResourceReference_Description struct { + // Description of the resource. + // + // Deprecated: Do not use. + Description string `protobuf:"bytes,4,opt,name=description,proto3,oneof"` +} + +func (*PublisherModel_ResourceReference_Uri) isPublisherModel_ResourceReference_Reference() {} + +func (*PublisherModel_ResourceReference_ResourceName) isPublisherModel_ResourceReference_Reference() { +} + +func (*PublisherModel_ResourceReference_UseCase) isPublisherModel_ResourceReference_Reference() {} + +func (*PublisherModel_ResourceReference_Description) isPublisherModel_ResourceReference_Reference() {} + +// The information about the parent of a model. +type PublisherModel_Parent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The display name of the parent. E.g., LaMDA, T5, Vision API, + // Natural Language API. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The Google Cloud resource name or the URI reference. + Reference *PublisherModel_ResourceReference `protobuf:"bytes,2,opt,name=reference,proto3" json:"reference,omitempty"` +} + +func (x *PublisherModel_Parent) Reset() { + *x = PublisherModel_Parent{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_Parent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_Parent) ProtoMessage() {} + +func (x *PublisherModel_Parent) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_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 PublisherModel_Parent.ProtoReflect.Descriptor instead. +func (*PublisherModel_Parent) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *PublisherModel_Parent) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PublisherModel_Parent) GetReference() *PublisherModel_ResourceReference { + if x != nil { + return x.Reference + } + return nil +} + +// A named piece of documentation. +type PublisherModel_Documentation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. E.g., OVERVIEW, USE CASES, DOCUMENTATION, SDK & SAMPLES, JAVA, + // NODE.JS, etc.. + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // Required. Content of this piece of document (in Markdown format). + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *PublisherModel_Documentation) Reset() { + *x = PublisherModel_Documentation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_Documentation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_Documentation) ProtoMessage() {} + +func (x *PublisherModel_Documentation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[3] + 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 PublisherModel_Documentation.ProtoReflect.Descriptor instead. +func (*PublisherModel_Documentation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *PublisherModel_Documentation) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PublisherModel_Documentation) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// Actions could take on this Publisher Model. +type PublisherModel_CallToAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. To view Rest API docs. + ViewRestApi *PublisherModel_CallToAction_ViewRestApi `protobuf:"bytes,1,opt,name=view_rest_api,json=viewRestApi,proto3" json:"view_rest_api,omitempty"` + // Optional. Open notebook of the PublisherModel. + OpenNotebook *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,2,opt,name=open_notebook,json=openNotebook,proto3" json:"open_notebook,omitempty"` + // Optional. Open notebooks of the PublisherModel. + OpenNotebooks *PublisherModel_CallToAction_OpenNotebooks `protobuf:"bytes,12,opt,name=open_notebooks,json=openNotebooks,proto3,oneof" json:"open_notebooks,omitempty"` + // Optional. Create application using the PublisherModel. + CreateApplication *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,3,opt,name=create_application,json=createApplication,proto3" json:"create_application,omitempty"` + // Optional. Open fine-tuning pipeline of the PublisherModel. + OpenFineTuningPipeline *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,4,opt,name=open_fine_tuning_pipeline,json=openFineTuningPipeline,proto3" json:"open_fine_tuning_pipeline,omitempty"` + // Optional. Open fine-tuning pipelines of the PublisherModel. + OpenFineTuningPipelines *PublisherModel_CallToAction_OpenFineTuningPipelines `protobuf:"bytes,13,opt,name=open_fine_tuning_pipelines,json=openFineTuningPipelines,proto3,oneof" json:"open_fine_tuning_pipelines,omitempty"` + // Optional. Open prompt-tuning pipeline of the PublisherModel. + OpenPromptTuningPipeline *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,5,opt,name=open_prompt_tuning_pipeline,json=openPromptTuningPipeline,proto3" json:"open_prompt_tuning_pipeline,omitempty"` + // Optional. Open Genie / Playground. + OpenGenie *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,6,opt,name=open_genie,json=openGenie,proto3" json:"open_genie,omitempty"` + // Optional. Deploy the PublisherModel to Vertex Endpoint. + Deploy *PublisherModel_CallToAction_Deploy `protobuf:"bytes,7,opt,name=deploy,proto3" json:"deploy,omitempty"` + // Optional. Deploy PublisherModel to Google Kubernetes Engine. + DeployGke *PublisherModel_CallToAction_DeployGke `protobuf:"bytes,14,opt,name=deploy_gke,json=deployGke,proto3" json:"deploy_gke,omitempty"` + // Optional. Open in Generation AI Studio. + OpenGenerationAiStudio *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,8,opt,name=open_generation_ai_studio,json=openGenerationAiStudio,proto3" json:"open_generation_ai_studio,omitempty"` + // Optional. Request for access. + RequestAccess *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,9,opt,name=request_access,json=requestAccess,proto3" json:"request_access,omitempty"` + // Optional. Open evaluation pipeline of the PublisherModel. + OpenEvaluationPipeline *PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,11,opt,name=open_evaluation_pipeline,json=openEvaluationPipeline,proto3" json:"open_evaluation_pipeline,omitempty"` +} + +func (x *PublisherModel_CallToAction) Reset() { + *x = PublisherModel_CallToAction{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction) ProtoMessage() {} + +func (x *PublisherModel_CallToAction) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[4] + 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 PublisherModel_CallToAction.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *PublisherModel_CallToAction) GetViewRestApi() *PublisherModel_CallToAction_ViewRestApi { + if x != nil { + return x.ViewRestApi + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenNotebook() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenNotebook + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenNotebooks() *PublisherModel_CallToAction_OpenNotebooks { + if x != nil { + return x.OpenNotebooks + } + return nil +} + +func (x *PublisherModel_CallToAction) GetCreateApplication() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.CreateApplication + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenFineTuningPipeline() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenFineTuningPipeline + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenFineTuningPipelines() *PublisherModel_CallToAction_OpenFineTuningPipelines { + if x != nil { + return x.OpenFineTuningPipelines + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenPromptTuningPipeline() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenPromptTuningPipeline + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenGenie() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenGenie + } + return nil +} + +func (x *PublisherModel_CallToAction) GetDeploy() *PublisherModel_CallToAction_Deploy { + if x != nil { + return x.Deploy + } + return nil +} + +func (x *PublisherModel_CallToAction) GetDeployGke() *PublisherModel_CallToAction_DeployGke { + if x != nil { + return x.DeployGke + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenGenerationAiStudio() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenGenerationAiStudio + } + return nil +} + +func (x *PublisherModel_CallToAction) GetRequestAccess() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.RequestAccess + } + return nil +} + +func (x *PublisherModel_CallToAction) GetOpenEvaluationPipeline() *PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.OpenEvaluationPipeline + } + return nil +} + +// The regional resource name or the URI. Key is region, e.g., +// us-central1, europe-west2, global, etc.. +type PublisherModel_CallToAction_RegionalResourceReferences struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + References map[string]*PublisherModel_ResourceReference `protobuf:"bytes,1,rep,name=references,proto3" json:"references,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // Optional. Title of the resource. + ResourceTitle *string `protobuf:"bytes,3,opt,name=resource_title,json=resourceTitle,proto3,oneof" json:"resource_title,omitempty"` + // Optional. Use case (CUJ) of the resource. + ResourceUseCase *string `protobuf:"bytes,4,opt,name=resource_use_case,json=resourceUseCase,proto3,oneof" json:"resource_use_case,omitempty"` + // Optional. Description of the resource. + ResourceDescription *string `protobuf:"bytes,5,opt,name=resource_description,json=resourceDescription,proto3,oneof" json:"resource_description,omitempty"` +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) Reset() { + *x = PublisherModel_CallToAction_RegionalResourceReferences{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_RegionalResourceReferences) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[5] + 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 PublisherModel_CallToAction_RegionalResourceReferences.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_RegionalResourceReferences) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) GetReferences() map[string]*PublisherModel_ResourceReference { + if x != nil { + return x.References + } + return nil +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) GetResourceTitle() string { + if x != nil && x.ResourceTitle != nil { + return *x.ResourceTitle + } + return "" +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) GetResourceUseCase() string { + if x != nil && x.ResourceUseCase != nil { + return *x.ResourceUseCase + } + return "" +} + +func (x *PublisherModel_CallToAction_RegionalResourceReferences) GetResourceDescription() string { + if x != nil && x.ResourceDescription != nil { + return *x.ResourceDescription + } + return "" +} + +// Rest API docs. +type PublisherModel_CallToAction_ViewRestApi struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + Documentations []*PublisherModel_Documentation `protobuf:"bytes,1,rep,name=documentations,proto3" json:"documentations,omitempty"` + // Required. The title of the view rest API. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *PublisherModel_CallToAction_ViewRestApi) Reset() { + *x = PublisherModel_CallToAction_ViewRestApi{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_ViewRestApi) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_ViewRestApi) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_ViewRestApi) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_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 PublisherModel_CallToAction_ViewRestApi.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_ViewRestApi) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 1} +} + +func (x *PublisherModel_CallToAction_ViewRestApi) GetDocumentations() []*PublisherModel_Documentation { + if x != nil { + return x.Documentations + } + return nil +} + +func (x *PublisherModel_CallToAction_ViewRestApi) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +// Open notebooks. +type PublisherModel_CallToAction_OpenNotebooks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Regional resource references to notebooks. + Notebooks []*PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,1,rep,name=notebooks,proto3" json:"notebooks,omitempty"` +} + +func (x *PublisherModel_CallToAction_OpenNotebooks) Reset() { + *x = PublisherModel_CallToAction_OpenNotebooks{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_OpenNotebooks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_OpenNotebooks) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_OpenNotebooks) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[7] + 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 PublisherModel_CallToAction_OpenNotebooks.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_OpenNotebooks) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 2} +} + +func (x *PublisherModel_CallToAction_OpenNotebooks) GetNotebooks() []*PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.Notebooks + } + return nil +} + +// Open fine tuning pipelines. +type PublisherModel_CallToAction_OpenFineTuningPipelines struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Regional resource references to fine tuning pipelines. + FineTuningPipelines []*PublisherModel_CallToAction_RegionalResourceReferences `protobuf:"bytes,1,rep,name=fine_tuning_pipelines,json=fineTuningPipelines,proto3" json:"fine_tuning_pipelines,omitempty"` +} + +func (x *PublisherModel_CallToAction_OpenFineTuningPipelines) Reset() { + *x = PublisherModel_CallToAction_OpenFineTuningPipelines{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_OpenFineTuningPipelines) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_OpenFineTuningPipelines) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_OpenFineTuningPipelines) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_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 PublisherModel_CallToAction_OpenFineTuningPipelines.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_OpenFineTuningPipelines) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 3} +} + +func (x *PublisherModel_CallToAction_OpenFineTuningPipelines) GetFineTuningPipelines() []*PublisherModel_CallToAction_RegionalResourceReferences { + if x != nil { + return x.FineTuningPipelines + } + return nil +} + +// Model metadata that is needed for UploadModel or +// DeployModel/CreateEndpoint requests. +type PublisherModel_CallToAction_Deploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The prediction (for example, the machine) resources that the + // DeployedModel uses. + // + // Types that are assignable to PredictionResources: + // + // *PublisherModel_CallToAction_Deploy_DedicatedResources + // *PublisherModel_CallToAction_Deploy_AutomaticResources + // *PublisherModel_CallToAction_Deploy_SharedResources + PredictionResources isPublisherModel_CallToAction_Deploy_PredictionResources `protobuf_oneof:"prediction_resources"` + // Optional. Default model display name. + ModelDisplayName string `protobuf:"bytes,1,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"` + // Optional. Large model reference. When this is set, model_artifact_spec + // is not needed. + LargeModelReference *LargeModelReference `protobuf:"bytes,2,opt,name=large_model_reference,json=largeModelReference,proto3" json:"large_model_reference,omitempty"` + // Optional. The specification of the container that is to be used when + // deploying this Model in Vertex AI. Not present for Large Models. + ContainerSpec *ModelContainerSpec `protobuf:"bytes,3,opt,name=container_spec,json=containerSpec,proto3" json:"container_spec,omitempty"` + // Optional. The path to the directory containing the Model artifact and + // any of its supporting files. + ArtifactUri string `protobuf:"bytes,4,opt,name=artifact_uri,json=artifactUri,proto3" json:"artifact_uri,omitempty"` + // Required. The title of the regional resource reference. + Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` + // Optional. The signed URI for ephemeral Cloud Storage access to model + // artifact. + PublicArtifactUri string `protobuf:"bytes,9,opt,name=public_artifact_uri,json=publicArtifactUri,proto3" json:"public_artifact_uri,omitempty"` +} + +func (x *PublisherModel_CallToAction_Deploy) Reset() { + *x = PublisherModel_CallToAction_Deploy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_Deploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_Deploy) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_Deploy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[9] + 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 PublisherModel_CallToAction_Deploy.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_Deploy) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 4} +} + +func (m *PublisherModel_CallToAction_Deploy) GetPredictionResources() isPublisherModel_CallToAction_Deploy_PredictionResources { + if m != nil { + return m.PredictionResources + } + return nil +} + +func (x *PublisherModel_CallToAction_Deploy) GetDedicatedResources() *DedicatedResources { + if x, ok := x.GetPredictionResources().(*PublisherModel_CallToAction_Deploy_DedicatedResources); ok { + return x.DedicatedResources + } + return nil +} + +func (x *PublisherModel_CallToAction_Deploy) GetAutomaticResources() *AutomaticResources { + if x, ok := x.GetPredictionResources().(*PublisherModel_CallToAction_Deploy_AutomaticResources); ok { + return x.AutomaticResources + } + return nil +} + +func (x *PublisherModel_CallToAction_Deploy) GetSharedResources() string { + if x, ok := x.GetPredictionResources().(*PublisherModel_CallToAction_Deploy_SharedResources); ok { + return x.SharedResources + } + return "" +} + +func (x *PublisherModel_CallToAction_Deploy) GetModelDisplayName() string { + if x != nil { + return x.ModelDisplayName + } + return "" +} + +func (x *PublisherModel_CallToAction_Deploy) GetLargeModelReference() *LargeModelReference { + if x != nil { + return x.LargeModelReference + } + return nil +} + +func (x *PublisherModel_CallToAction_Deploy) GetContainerSpec() *ModelContainerSpec { + if x != nil { + return x.ContainerSpec + } + return nil +} + +func (x *PublisherModel_CallToAction_Deploy) GetArtifactUri() string { + if x != nil { + return x.ArtifactUri + } + return "" +} + +func (x *PublisherModel_CallToAction_Deploy) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PublisherModel_CallToAction_Deploy) GetPublicArtifactUri() string { + if x != nil { + return x.PublicArtifactUri + } + return "" +} + +type isPublisherModel_CallToAction_Deploy_PredictionResources interface { + isPublisherModel_CallToAction_Deploy_PredictionResources() +} + +type PublisherModel_CallToAction_Deploy_DedicatedResources struct { + // A description of resources that are dedicated to the DeployedModel, + // and that need a higher degree of manual configuration. + DedicatedResources *DedicatedResources `protobuf:"bytes,5,opt,name=dedicated_resources,json=dedicatedResources,proto3,oneof"` +} + +type PublisherModel_CallToAction_Deploy_AutomaticResources struct { + // A description of resources that to large degree are decided by Vertex + // AI, and require only a modest additional configuration. + AutomaticResources *AutomaticResources `protobuf:"bytes,6,opt,name=automatic_resources,json=automaticResources,proto3,oneof"` +} + +type PublisherModel_CallToAction_Deploy_SharedResources struct { + // The resource name of the shared DeploymentResourcePool to deploy on. + // Format: + // `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}` + SharedResources string `protobuf:"bytes,7,opt,name=shared_resources,json=sharedResources,proto3,oneof"` +} + +func (*PublisherModel_CallToAction_Deploy_DedicatedResources) isPublisherModel_CallToAction_Deploy_PredictionResources() { +} + +func (*PublisherModel_CallToAction_Deploy_AutomaticResources) isPublisherModel_CallToAction_Deploy_PredictionResources() { +} + +func (*PublisherModel_CallToAction_Deploy_SharedResources) isPublisherModel_CallToAction_Deploy_PredictionResources() { +} + +// Configurations for PublisherModel GKE deployment +type PublisherModel_CallToAction_DeployGke struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. GKE deployment configuration in yaml format. + GkeYamlConfigs []string `protobuf:"bytes,1,rep,name=gke_yaml_configs,json=gkeYamlConfigs,proto3" json:"gke_yaml_configs,omitempty"` +} + +func (x *PublisherModel_CallToAction_DeployGke) Reset() { + *x = PublisherModel_CallToAction_DeployGke{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublisherModel_CallToAction_DeployGke) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublisherModel_CallToAction_DeployGke) ProtoMessage() {} + +func (x *PublisherModel_CallToAction_DeployGke) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[10] + 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 PublisherModel_CallToAction_DeployGke.ProtoReflect.Descriptor instead. +func (*PublisherModel_CallToAction_DeployGke) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP(), []int{0, 3, 5} +} + +func (x *PublisherModel_CallToAction_DeployGke) GetGkeYamlConfigs() []string { + if x != nil { + return x.GkeYamlConfigs + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, + 0x29, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, + 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x7a, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x6f, 0x70, 0x65, 0x6e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x54, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x64, 0x0a, 0x0c, 0x6c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, + 0x67, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x25, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, + 0x41, 0x03, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x18, 0x1f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x1a, 0xa4, 0x01, + 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x07, 0x75, 0x73, 0x65, 0x43, 0x61, 0x73, 0x65, 0x12, + 0x26, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x97, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x49, + 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x8f, 0x1c, 0x0a, 0x0c, 0x43, 0x61, + 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x0d, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x74, 0x41, 0x70, 0x69, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x74, 0x41, 0x70, 0x69, 0x12, 0x82, + 0x01, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x12, 0x7c, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, + 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x98, 0x01, 0x0a, 0x19, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, + 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x1a, + 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x55, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x17, + 0x6f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x9c, 0x01, 0x0a, 0x1b, 0x6f, + 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x18, 0x6f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x7c, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x6e, 0x5f, 0x67, 0x65, 0x6e, 0x69, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6f, 0x70, + 0x65, 0x6e, 0x47, 0x65, 0x6e, 0x69, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x6b, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x67, 0x6b, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x47, 0x6b, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x47, 0x6b, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x19, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x69, 0x5f, 0x73, + 0x74, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, + 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6f, 0x70, 0x65, 0x6e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x69, 0x53, 0x74, 0x75, 0x64, + 0x69, 0x6f, 0x12, 0x84, 0x01, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, + 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x6f, 0x70, + 0x65, 0x6e, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x69, + 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6f, 0x70, 0x65, + 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x1a, 0xb1, 0x04, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x68, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2f, 0x0a, + 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, + 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, + 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x43, 0x61, 0x73, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x95, 0x01, 0x0a, 0x0b, 0x56, 0x69, 0x65, 0x77, + 0x52, 0x65, 0x73, 0x74, 0x41, 0x70, 0x69, 0x12, 0x6b, 0x0a, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, + 0x8c, 0x01, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x73, 0x12, 0x7b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0xad, + 0x01, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x69, 0x6e, 0x65, 0x54, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x15, 0x66, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x61, 0x6c, + 0x6c, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x65, 0x54, + 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0x9c, + 0x05, 0x0a, 0x06, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x12, + 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x12, 0x67, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x10, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x15, 0x6c, + 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, + 0x72, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, + 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x12, 0x33, 0x0a, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x55, 0x72, 0x69, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x3a, 0x0a, + 0x09, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x47, 0x6b, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x67, 0x6b, + 0x65, 0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6b, 0x65, 0x59, 0x61, + 0x6d, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, + 0x65, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x42, 0x1d, 0x0a, 0x1b, + 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x12, + 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x50, + 0x52, 0x49, 0x45, 0x54, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x47, 0x4f, 0x4f, + 0x47, 0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x53, 0x53, 0x5f, 0x57, 0x49, + 0x54, 0x48, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, + 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x53, 0x53, 0x5f, + 0x57, 0x49, 0x54, 0x48, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, + 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x4f, 0x4f, 0x47, + 0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x53, 0x53, 0x10, 0x04, 0x12, 0x19, + 0x0a, 0x15, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x4f, 0x57, + 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x53, 0x53, 0x10, 0x05, 0x22, 0x6e, 0x0a, 0x0b, 0x4c, 0x61, 0x75, + 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x41, 0x55, 0x4e, + 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, + 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x12, 0x12, 0x0a, + 0x0e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, + 0x03, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x41, 0x10, 0x04, 0x22, 0x63, 0x0a, 0x0c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x3a, 0x54, + 0xea, 0x41, 0x51, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x25, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x7d, 0x42, 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_goTypes = []interface{}{ + (PublisherModel_OpenSourceCategory)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.OpenSourceCategory + (PublisherModel_LaunchStage)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.LaunchStage + (PublisherModel_VersionState)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.VersionState + (*PublisherModel)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.PublisherModel + (*PublisherModel_ResourceReference)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.ResourceReference + (*PublisherModel_Parent)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.Parent + (*PublisherModel_Documentation)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.Documentation + (*PublisherModel_CallToAction)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction + (*PublisherModel_CallToAction_RegionalResourceReferences)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + (*PublisherModel_CallToAction_ViewRestApi)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.ViewRestApi + (*PublisherModel_CallToAction_OpenNotebooks)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenNotebooks + (*PublisherModel_CallToAction_OpenFineTuningPipelines)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenFineTuningPipelines + (*PublisherModel_CallToAction_Deploy)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy + (*PublisherModel_CallToAction_DeployGke)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.DeployGke + nil, // 14: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences.ReferencesEntry + (*PredictSchemata)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.PredictSchemata + (*DedicatedResources)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + (*AutomaticResources)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + (*LargeModelReference)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.LargeModelReference + (*ModelContainerSpec)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec +} +var file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.open_source_category:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.OpenSourceCategory + 5, // 1: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.parent:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.Parent + 7, // 2: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.supported_actions:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.launch_stage:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.LaunchStage + 2, // 4: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.version_state:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.VersionState + 15, // 5: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.predict_schemata:type_name -> mockgcp.cloud.aiplatform.v1beta1.PredictSchemata + 4, // 6: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.Parent.reference:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.ResourceReference + 9, // 7: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.view_rest_api:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.ViewRestApi + 8, // 8: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_notebook:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 10, // 9: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_notebooks:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenNotebooks + 8, // 10: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.create_application:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 8, // 11: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_fine_tuning_pipeline:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 11, // 12: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_fine_tuning_pipelines:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenFineTuningPipelines + 8, // 13: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_prompt_tuning_pipeline:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 8, // 14: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_genie:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 12, // 15: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.deploy:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy + 13, // 16: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.deploy_gke:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.DeployGke + 8, // 17: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_generation_ai_studio:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 8, // 18: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.request_access:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 8, // 19: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.open_evaluation_pipeline:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 14, // 20: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences.references:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences.ReferencesEntry + 6, // 21: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.ViewRestApi.documentations:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.Documentation + 8, // 22: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenNotebooks.notebooks:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 8, // 23: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.OpenFineTuningPipelines.fine_tuning_pipelines:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences + 16, // 24: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy.dedicated_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.DedicatedResources + 17, // 25: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy.automatic_resources:type_name -> mockgcp.cloud.aiplatform.v1beta1.AutomaticResources + 18, // 26: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy.large_model_reference:type_name -> mockgcp.cloud.aiplatform.v1beta1.LargeModelReference + 19, // 27: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.Deploy.container_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.ModelContainerSpec + 4, // 28: mockgcp.cloud.aiplatform.v1beta1.PublisherModel.CallToAction.RegionalResourceReferences.ReferencesEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.PublisherModel.ResourceReference + 29, // [29:29] is the sub-list for method output_type + 29, // [29:29] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_machine_resources_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_model_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_ResourceReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_Parent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_Documentation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_RegionalResourceReferences); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_ViewRestApi); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_OpenNotebooks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_OpenFineTuningPipelines); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_Deploy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublisherModel_CallToAction_DeployGke); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*PublisherModel_ResourceReference_Uri)(nil), + (*PublisherModel_ResourceReference_ResourceName)(nil), + (*PublisherModel_ResourceReference_UseCase)(nil), + (*PublisherModel_ResourceReference_Description)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*PublisherModel_CallToAction_Deploy_DedicatedResources)(nil), + (*PublisherModel_CallToAction_Deploy_AutomaticResources)(nil), + (*PublisherModel_CallToAction_Deploy_SharedResources)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDesc, + NumEnums: 3, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_publisher_model_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/saved_query.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/saved_query.pb.go new file mode 100644 index 0000000000..947fec1683 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/saved_query.pb.go @@ -0,0 +1,326 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/saved_query.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A SavedQuery is a view of the dataset. It references a subset of annotations +// by problem type and filters. +type SavedQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the SavedQuery. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the SavedQuery. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Some additional information about the SavedQuery. + Metadata *_struct.Value `protobuf:"bytes,12,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Output only. Timestamp when this SavedQuery was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when SavedQuery was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Filters on the Annotations in the dataset. + AnnotationFilter string `protobuf:"bytes,5,opt,name=annotation_filter,json=annotationFilter,proto3" json:"annotation_filter,omitempty"` + // Required. Problem type of the SavedQuery. + // Allowed values: + // + // * IMAGE_CLASSIFICATION_SINGLE_LABEL + // * IMAGE_CLASSIFICATION_MULTI_LABEL + // * IMAGE_BOUNDING_POLY + // * IMAGE_BOUNDING_BOX + // * TEXT_CLASSIFICATION_SINGLE_LABEL + // * TEXT_CLASSIFICATION_MULTI_LABEL + // * TEXT_EXTRACTION + // * TEXT_SENTIMENT + // * VIDEO_CLASSIFICATION + // * VIDEO_OBJECT_TRACKING + ProblemType string `protobuf:"bytes,6,opt,name=problem_type,json=problemType,proto3" json:"problem_type,omitempty"` + // Output only. Number of AnnotationSpecs in the context of the SavedQuery. + AnnotationSpecCount int32 `protobuf:"varint,10,opt,name=annotation_spec_count,json=annotationSpecCount,proto3" json:"annotation_spec_count,omitempty"` + // Used to perform a consistent read-modify-write update. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,8,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. If the Annotations belonging to the SavedQuery can be used for + // AutoML training. + SupportAutomlTraining bool `protobuf:"varint,9,opt,name=support_automl_training,json=supportAutomlTraining,proto3" json:"support_automl_training,omitempty"` +} + +func (x *SavedQuery) Reset() { + *x = SavedQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SavedQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SavedQuery) ProtoMessage() {} + +func (x *SavedQuery) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_msgTypes[0] + 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 SavedQuery.ProtoReflect.Descriptor instead. +func (*SavedQuery) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescGZIP(), []int{0} +} + +func (x *SavedQuery) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SavedQuery) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *SavedQuery) GetMetadata() *_struct.Value { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *SavedQuery) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *SavedQuery) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *SavedQuery) GetAnnotationFilter() string { + if x != nil { + return x.AnnotationFilter + } + return "" +} + +func (x *SavedQuery) GetProblemType() string { + if x != nil { + return x.ProblemType + } + return "" +} + +func (x *SavedQuery) GetAnnotationSpecCount() int32 { + if x != nil { + return x.AnnotationSpecCount + } + return 0 +} + +func (x *SavedQuery) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *SavedQuery) GetSupportAutomlTraining() bool { + if x != nil { + return x.SupportAutomlTraining + } + return false +} + +var File_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 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, 0x22, 0xec, 0x04, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x70, + 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x6c, 0x65, 0x6d, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x12, 0x3b, 0x0a, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x80, 0x01, + 0xea, 0x41, 0x7d, 0x0a, 0x24, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x7d, + 0x42, 0xe7, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0f, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_goTypes = []interface{}{ + (*SavedQuery)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.SavedQuery + (*_struct.Value)(nil), // 1: google.protobuf.Value + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.SavedQuery.metadata:type_name -> google.protobuf.Value + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.SavedQuery.create_time:type_name -> google.protobuf.Timestamp + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.SavedQuery.update_time:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SavedQuery); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_saved_query_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule.pb.go new file mode 100644 index 0000000000..8ded3bb6e3 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule.pb.go @@ -0,0 +1,663 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/schedule.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Possible state of the schedule. +type Schedule_State int32 + +const ( + // Unspecified. + Schedule_STATE_UNSPECIFIED Schedule_State = 0 + // The Schedule is active. Runs are being scheduled on the user-specified + // timespec. + Schedule_ACTIVE Schedule_State = 1 + // The schedule is paused. No new runs will be created until the schedule + // is resumed. Already started runs will be allowed to complete. + Schedule_PAUSED Schedule_State = 2 + // The Schedule is completed. No new runs will be scheduled. Already started + // runs will be allowed to complete. Schedules in completed state cannot be + // paused or resumed. + Schedule_COMPLETED Schedule_State = 3 +) + +// Enum value maps for Schedule_State. +var ( + Schedule_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "PAUSED", + 3: "COMPLETED", + } + Schedule_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "PAUSED": 2, + "COMPLETED": 3, + } +) + +func (x Schedule_State) Enum() *Schedule_State { + p := new(Schedule_State) + *p = x + return p +} + +func (x Schedule_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Schedule_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_enumTypes[0].Descriptor() +} + +func (Schedule_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_enumTypes[0] +} + +func (x Schedule_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Schedule_State.Descriptor instead. +func (Schedule_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescGZIP(), []int{0, 0} +} + +// An instance of a Schedule periodically schedules runs to make API calls based +// on user specified time specification and API request type. +type Schedule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // The time specification to launch scheduled runs. + // + // Types that are assignable to TimeSpecification: + // + // *Schedule_Cron + TimeSpecification isSchedule_TimeSpecification `protobuf_oneof:"time_specification"` + // Required. + // The API request template to launch the scheduled runs. + // User-specified ID is not supported in the request template. + // + // Types that are assignable to Request: + // + // *Schedule_CreatePipelineJobRequest + Request isSchedule_Request `protobuf_oneof:"request"` + // Immutable. The resource name of the Schedule. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User provided name of the Schedule. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Timestamp after which the first run can be scheduled. + // Default to Schedule create time if not specified. + StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Optional. Timestamp after which no new runs can be scheduled. + // If specified, The schedule will be completed when either + // end_time is reached or when scheduled_run_count >= max_run_count. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + EndTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Optional. Maximum run count of the schedule. + // If specified, The schedule will be completed when either + // started_run_count >= max_run_count or when end_time is reached. + // If not specified, new runs will keep getting scheduled until this Schedule + // is paused or deleted. Already scheduled runs will be allowed to complete. + // Unset if not specified. + MaxRunCount int64 `protobuf:"varint,16,opt,name=max_run_count,json=maxRunCount,proto3" json:"max_run_count,omitempty"` + // Output only. The number of runs started by this schedule. + StartedRunCount int64 `protobuf:"varint,17,opt,name=started_run_count,json=startedRunCount,proto3" json:"started_run_count,omitempty"` + // Output only. The state of this Schedule. + State Schedule_State `protobuf:"varint,5,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Schedule_State" json:"state,omitempty"` + // Output only. Timestamp when this Schedule was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Schedule was updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,19,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Timestamp when this Schedule should schedule the next run. + // Having a next_run_time in the past means the runs are being started + // behind schedule. + NextRunTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=next_run_time,json=nextRunTime,proto3" json:"next_run_time,omitempty"` + // Output only. Timestamp when this Schedule was last paused. + // Unset if never paused. + LastPauseTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_pause_time,json=lastPauseTime,proto3" json:"last_pause_time,omitempty"` + // Output only. Timestamp when this Schedule was last resumed. + // Unset if never resumed from pause. + LastResumeTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_resume_time,json=lastResumeTime,proto3" json:"last_resume_time,omitempty"` + // Required. Maximum number of runs that can be started concurrently for this + // Schedule. This is the limit for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + MaxConcurrentRunCount int64 `protobuf:"varint,11,opt,name=max_concurrent_run_count,json=maxConcurrentRunCount,proto3" json:"max_concurrent_run_count,omitempty"` + // Optional. Whether new scheduled runs can be queued when max_concurrent_runs + // limit is reached. If set to true, new runs will be queued instead of + // skipped. Default to false. + AllowQueueing bool `protobuf:"varint,12,opt,name=allow_queueing,json=allowQueueing,proto3" json:"allow_queueing,omitempty"` + // Output only. Whether to backfill missed runs when the schedule is resumed + // from PAUSED state. If set to true, all missed runs will be scheduled. New + // runs will be scheduled after the backfill is complete. Default to false. + CatchUp bool `protobuf:"varint,13,opt,name=catch_up,json=catchUp,proto3" json:"catch_up,omitempty"` + // Output only. Response of the last scheduled run. + // This is the response for starting the scheduled requests and not the + // execution of the operations/jobs created by the requests (if applicable). + // Unset if no run has been scheduled yet. + LastScheduledRunResponse *Schedule_RunResponse `protobuf:"bytes,18,opt,name=last_scheduled_run_response,json=lastScheduledRunResponse,proto3" json:"last_scheduled_run_response,omitempty"` +} + +func (x *Schedule) Reset() { + *x = Schedule{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Schedule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schedule) ProtoMessage() {} + +func (x *Schedule) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[0] + 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 Schedule.ProtoReflect.Descriptor instead. +func (*Schedule) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescGZIP(), []int{0} +} + +func (m *Schedule) GetTimeSpecification() isSchedule_TimeSpecification { + if m != nil { + return m.TimeSpecification + } + return nil +} + +func (x *Schedule) GetCron() string { + if x, ok := x.GetTimeSpecification().(*Schedule_Cron); ok { + return x.Cron + } + return "" +} + +func (m *Schedule) GetRequest() isSchedule_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *Schedule) GetCreatePipelineJobRequest() *CreatePipelineJobRequest { + if x, ok := x.GetRequest().(*Schedule_CreatePipelineJobRequest); ok { + return x.CreatePipelineJobRequest + } + return nil +} + +func (x *Schedule) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Schedule) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Schedule) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *Schedule) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *Schedule) GetMaxRunCount() int64 { + if x != nil { + return x.MaxRunCount + } + return 0 +} + +func (x *Schedule) GetStartedRunCount() int64 { + if x != nil { + return x.StartedRunCount + } + return 0 +} + +func (x *Schedule) GetState() Schedule_State { + if x != nil { + return x.State + } + return Schedule_STATE_UNSPECIFIED +} + +func (x *Schedule) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Schedule) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Schedule) GetNextRunTime() *timestamp.Timestamp { + if x != nil { + return x.NextRunTime + } + return nil +} + +func (x *Schedule) GetLastPauseTime() *timestamp.Timestamp { + if x != nil { + return x.LastPauseTime + } + return nil +} + +func (x *Schedule) GetLastResumeTime() *timestamp.Timestamp { + if x != nil { + return x.LastResumeTime + } + return nil +} + +func (x *Schedule) GetMaxConcurrentRunCount() int64 { + if x != nil { + return x.MaxConcurrentRunCount + } + return 0 +} + +func (x *Schedule) GetAllowQueueing() bool { + if x != nil { + return x.AllowQueueing + } + return false +} + +func (x *Schedule) GetCatchUp() bool { + if x != nil { + return x.CatchUp + } + return false +} + +func (x *Schedule) GetLastScheduledRunResponse() *Schedule_RunResponse { + if x != nil { + return x.LastScheduledRunResponse + } + return nil +} + +type isSchedule_TimeSpecification interface { + isSchedule_TimeSpecification() +} + +type Schedule_Cron struct { + // Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled + // runs. To explicitly set a timezone to the cron tab, apply a prefix in the + // cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". + // The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone + // database. For example, "CRON_TZ=America/New_York 1 * * * *", or + // "TZ=America/New_York 1 * * * *". + Cron string `protobuf:"bytes,10,opt,name=cron,proto3,oneof"` +} + +func (*Schedule_Cron) isSchedule_TimeSpecification() {} + +type isSchedule_Request interface { + isSchedule_Request() +} + +type Schedule_CreatePipelineJobRequest struct { + // Request for + // [PipelineService.CreatePipelineJob][mockgcp.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob]. + // CreatePipelineJobRequest.parent field is required (format: + // projects/{project}/locations/{location}). + CreatePipelineJobRequest *CreatePipelineJobRequest `protobuf:"bytes,14,opt,name=create_pipeline_job_request,json=createPipelineJobRequest,proto3,oneof"` +} + +func (*Schedule_CreatePipelineJobRequest) isSchedule_Request() {} + +// Status of a scheduled run. +type Schedule_RunResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The scheduled run time based on the user-specified schedule. + ScheduledRunTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=scheduled_run_time,json=scheduledRunTime,proto3" json:"scheduled_run_time,omitempty"` + // The response of the scheduled run. + RunResponse string `protobuf:"bytes,2,opt,name=run_response,json=runResponse,proto3" json:"run_response,omitempty"` +} + +func (x *Schedule_RunResponse) Reset() { + *x = Schedule_RunResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Schedule_RunResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schedule_RunResponse) ProtoMessage() {} + +func (x *Schedule_RunResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[1] + 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 Schedule_RunResponse.ProtoReflect.Descriptor instead. +func (*Schedule_RunResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Schedule_RunResponse) GetScheduledRunTime() *timestamp.Timestamp { + if x != nil { + return x.ScheduledRunTime + } + return nil +} + +func (x *Schedule_RunResponse) GetRunResponse() string { + if x != nil { + return x.RunResponse + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_schedule_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 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, 0x22, 0xaf, 0x0b, 0x0a, 0x08, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x1b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x01, 0x52, + 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, + 0x6f, 0x62, 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, 0x05, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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, 0x01, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, + 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 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, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x52, + 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x75, 0x73, 0x65, 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, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x49, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 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, 0x0e, 0x6c, 0x61, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x18, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x70, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x61, 0x74, + 0x63, 0x68, 0x55, 0x70, 0x12, 0x7a, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x1a, 0x7a, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x48, 0x0a, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x6e, + 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, + 0x44, 0x10, 0x03, 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x7b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x7d, 0x42, 0x14, 0x0a, 0x12, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0xe5, 0x01, 0x0a, 0x24, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_goTypes = []interface{}{ + (Schedule_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Schedule.State + (*Schedule)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.Schedule + (*Schedule_RunResponse)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Schedule.RunResponse + (*CreatePipelineJobRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.CreatePipelineJobRequest + (*timestamp.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_depIdxs = []int32{ + 3, // 0: mockgcp.cloud.aiplatform.v1beta1.Schedule.create_pipeline_job_request:type_name -> mockgcp.cloud.aiplatform.v1beta1.CreatePipelineJobRequest + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.Schedule.start_time:type_name -> google.protobuf.Timestamp + 4, // 2: mockgcp.cloud.aiplatform.v1beta1.Schedule.end_time:type_name -> google.protobuf.Timestamp + 0, // 3: mockgcp.cloud.aiplatform.v1beta1.Schedule.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schedule.State + 4, // 4: mockgcp.cloud.aiplatform.v1beta1.Schedule.create_time:type_name -> google.protobuf.Timestamp + 4, // 5: mockgcp.cloud.aiplatform.v1beta1.Schedule.update_time:type_name -> google.protobuf.Timestamp + 4, // 6: mockgcp.cloud.aiplatform.v1beta1.Schedule.next_run_time:type_name -> google.protobuf.Timestamp + 4, // 7: mockgcp.cloud.aiplatform.v1beta1.Schedule.last_pause_time:type_name -> google.protobuf.Timestamp + 4, // 8: mockgcp.cloud.aiplatform.v1beta1.Schedule.last_resume_time:type_name -> google.protobuf.Timestamp + 2, // 9: mockgcp.cloud.aiplatform.v1beta1.Schedule.last_scheduled_run_response:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schedule.RunResponse + 4, // 10: mockgcp.cloud.aiplatform.v1beta1.Schedule.RunResponse.scheduled_run_time:type_name -> google.protobuf.Timestamp + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_schedule_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_pipeline_service_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Schedule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Schedule_RunResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Schedule_Cron)(nil), + (*Schedule_CreatePipelineJobRequest)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_schedule_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.go new file mode 100644 index 0000000000..c5847ec18b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.go @@ -0,0 +1,969 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/schedule_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + empty "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [ScheduleService.CreateSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule]. +type CreateScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the Schedule in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Schedule to create. + Schedule *Schedule `protobuf:"bytes,2,opt,name=schedule,proto3" json:"schedule,omitempty"` +} + +func (x *CreateScheduleRequest) Reset() { + *x = CreateScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScheduleRequest) ProtoMessage() {} + +func (x *CreateScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[0] + 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 CreateScheduleRequest.ProtoReflect.Descriptor instead. +func (*CreateScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateScheduleRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateScheduleRequest) GetSchedule() *Schedule { + if x != nil { + return x.Schedule + } + return nil +} + +// Request message for +// [ScheduleService.GetSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule]. +type GetScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Schedule resource. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetScheduleRequest) Reset() { + *x = GetScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScheduleRequest) ProtoMessage() {} + +func (x *GetScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[1] + 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 GetScheduleRequest.ProtoReflect.Descriptor instead. +func (*GetScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetScheduleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ScheduleService.ListSchedules][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules]. +type ListSchedulesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the Schedules from. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the Schedules that match the filter expression. The following + // fields are supported: + // + // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. + // - `state`: Supports `=` and `!=` comparisons. + // - `request`: Supports existence of the check. + // (e.g. `create_pipeline_job_request:*` --> Schedule has + // create_pipeline_job_request). + // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. + // Values must be in RFC 3339 format. + // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` + // existence check. Values must be in RFC 3339 format. + // - `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` + // comparisons. Values must be in RFC 3339 format. + // + // Filter expressions can be combined together using logical operators + // (`NOT`, `AND` & `OR`). + // The syntax to define filter expression is based on + // https://google.aip.dev/160. + // + // Examples: + // + // * `state="ACTIVE" AND display_name:"my_schedule_*"` + // * `NOT display_name="my_schedule"` + // * `create_time>"2021-05-18T00:00:00Z"` + // * `end_time>"2021-05-18T00:00:00Z" OR NOT end_time:*` + // * `create_pipeline_job_request:*` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The standard list page size. + // Default to 100 if not specified. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained via + // [ListSchedulesResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListSchedulesResponse.next_page_token] + // of the previous + // [ScheduleService.ListSchedules][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A comma-separated list of fields to order by. The default sort order is in + // ascending order. Use "desc" after a field name for descending. You can have + // multiple order_by fields provided. + // + // For example, using "create_time desc, end_time" will order results by + // create time in descending order, and if there are multiple schedules having + // the same create time, order them by the end time in ascending order. + // + // If order_by is not specified, it will order by default with create_time in + // descending order. + // + // Supported fields: + // + // - `create_time` + // - `start_time` + // - `end_time` + // - `next_run_time` + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListSchedulesRequest) Reset() { + *x = ListSchedulesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSchedulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSchedulesRequest) ProtoMessage() {} + +func (x *ListSchedulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_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 ListSchedulesRequest.ProtoReflect.Descriptor instead. +func (*ListSchedulesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListSchedulesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListSchedulesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListSchedulesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListSchedulesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListSchedulesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [ScheduleService.ListSchedules][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules] +type ListSchedulesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of Schedules in the requested page. + Schedules []*Schedule `protobuf:"bytes,1,rep,name=schedules,proto3" json:"schedules,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListSchedulesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListSchedulesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListSchedulesResponse) Reset() { + *x = ListSchedulesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSchedulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSchedulesResponse) ProtoMessage() {} + +func (x *ListSchedulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[3] + 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 ListSchedulesResponse.ProtoReflect.Descriptor instead. +func (*ListSchedulesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListSchedulesResponse) GetSchedules() []*Schedule { + if x != nil { + return x.Schedules + } + return nil +} + +func (x *ListSchedulesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [ScheduleService.DeleteSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule]. +type DeleteScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Schedule resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteScheduleRequest) Reset() { + *x = DeleteScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScheduleRequest) ProtoMessage() {} + +func (x *DeleteScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[4] + 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 DeleteScheduleRequest.ProtoReflect.Descriptor instead. +func (*DeleteScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteScheduleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ScheduleService.PauseSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule]. +type PauseScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Schedule resource to be paused. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *PauseScheduleRequest) Reset() { + *x = PauseScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PauseScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseScheduleRequest) ProtoMessage() {} + +func (x *PauseScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[5] + 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 PauseScheduleRequest.ProtoReflect.Descriptor instead. +func (*PauseScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{5} +} + +func (x *PauseScheduleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ScheduleService.ResumeSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule]. +type ResumeScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Schedule resource to be resumed. + // Format: + // `projects/{project}/locations/{location}/schedules/{schedule}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Whether to backfill missed runs when the schedule is resumed from + // PAUSED state. If set to true, all missed runs will be scheduled. New runs + // will be scheduled after the backfill is complete. This will also update + // [Schedule.catch_up][mockgcp.cloud.aiplatform.v1beta1.Schedule.catch_up] + // field. Default to false. + CatchUp bool `protobuf:"varint,2,opt,name=catch_up,json=catchUp,proto3" json:"catch_up,omitempty"` +} + +func (x *ResumeScheduleRequest) Reset() { + *x = ResumeScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResumeScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResumeScheduleRequest) ProtoMessage() {} + +func (x *ResumeScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_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 ResumeScheduleRequest.ProtoReflect.Descriptor instead. +func (*ResumeScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ResumeScheduleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResumeScheduleRequest) GetCatchUp() bool { + if x != nil { + return x.CatchUp + } + return false +} + +// Request message for +// [ScheduleService.UpdateSchedule][mockgcp.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule]. +type UpdateScheduleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Schedule which replaces the resource on the server. + // The following restrictions will be applied: + // + // - The scheduled request type cannot be changed. + // - The non-empty fields cannot be unset. + // - The output_only fields will be ignored if specified. + Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"` + // Required. The update mask applies to the resource. See + // [google.protobuf.FieldMask][google.protobuf.FieldMask]. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateScheduleRequest) Reset() { + *x = UpdateScheduleRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateScheduleRequest) ProtoMessage() {} + +func (x *UpdateScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[7] + 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 UpdateScheduleRequest.ProtoReflect.Descriptor instead. +func (*UpdateScheduleRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateScheduleRequest) GetSchedule() *Schedule { + if x != nil { + return x.Schedule + } + return nil +} + +func (x *UpdateScheduleRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 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, 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, 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, + 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 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, 0x57, 0x0a, 0x15, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x14, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x77, 0x0a, + 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x63, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4b, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 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, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x32, + 0xdb, 0x0b, 0x0a, 0x0f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3e, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 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, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc5, 0x01, 0x0a, 0x0d, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0xab, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 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, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x70, 0x61, 0x75, 0x73, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0xbe, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 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, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0xda, 0x41, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x70, + 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, + 0x32, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0xda, 0x41, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0x4d, + 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xec, 0x01, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x14, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, + 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_goTypes = []interface{}{ + (*CreateScheduleRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateScheduleRequest + (*GetScheduleRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetScheduleRequest + (*ListSchedulesRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListSchedulesRequest + (*ListSchedulesResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListSchedulesResponse + (*DeleteScheduleRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.DeleteScheduleRequest + (*PauseScheduleRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.PauseScheduleRequest + (*ResumeScheduleRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ResumeScheduleRequest + (*UpdateScheduleRequest)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateScheduleRequest + (*Schedule)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.Schedule + (*field_mask.FieldMask)(nil), // 9: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 10: google.longrunning.Operation + (*empty.Empty)(nil), // 11: google.protobuf.Empty +} +var file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_depIdxs = []int32{ + 8, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateScheduleRequest.schedule:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 8, // 1: mockgcp.cloud.aiplatform.v1beta1.ListSchedulesResponse.schedules:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 8, // 2: mockgcp.cloud.aiplatform.v1beta1.UpdateScheduleRequest.schedule:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 9, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateScheduleRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 4: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateScheduleRequest + 4, // 5: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteScheduleRequest + 1, // 6: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetScheduleRequest + 2, // 7: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListSchedulesRequest + 5, // 8: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.PauseScheduleRequest + 6, // 9: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.ResumeScheduleRequest + 7, // 10: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateScheduleRequest + 8, // 11: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule:output_type -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 10, // 12: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule:output_type -> google.longrunning.Operation + 8, // 13: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule:output_type -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 3, // 14: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListSchedulesResponse + 11, // 15: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule:output_type -> google.protobuf.Empty + 11, // 16: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule:output_type -> google.protobuf.Empty + 8, // 17: mockgcp.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule:output_type -> mockgcp.cloud.aiplatform.v1beta1.Schedule + 11, // [11:18] is the sub-list for method output_type + 4, // [4:11] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_schedule_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSchedulesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSchedulesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PauseScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResumeScheduleRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateScheduleRequest); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_schedule_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.gw.go new file mode 100644 index 0000000000..63a02329d2 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service.pb.gw.go @@ -0,0 +1,921 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/schedule_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ScheduleService_CreateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Schedule); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_CreateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Schedule); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ScheduleService_DeleteSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteScheduleRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_DeleteSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteScheduleRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ScheduleService_GetSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetScheduleRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_GetSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetScheduleRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ScheduleService_ListSchedules_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ScheduleService_ListSchedules_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSchedulesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ScheduleService_ListSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListSchedules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_ListSchedules_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSchedulesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ScheduleService_ListSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListSchedules(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ScheduleService_PauseSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PauseScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.PauseSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_PauseSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PauseScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.PauseSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ScheduleService_ResumeSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResumeScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ResumeSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_ResumeSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResumeScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ResumeSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ScheduleService_UpdateSchedule_0 = &utilities.DoubleArray{Encoding: map[string]int{"schedule": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_ScheduleService_UpdateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client ScheduleServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Schedule); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Schedule); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["schedule.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "schedule.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ScheduleService_UpdateSchedule_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ScheduleService_UpdateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server ScheduleServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateScheduleRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Schedule); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Schedule); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["schedule.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "schedule.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ScheduleService_UpdateSchedule_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateSchedule(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterScheduleServiceHandlerServer registers the http handlers for service ScheduleService to "mux". +// UnaryRPC :call ScheduleServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterScheduleServiceHandlerFromEndpoint instead. +func RegisterScheduleServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ScheduleServiceServer) error { + + mux.Handle("POST", pattern_ScheduleService_CreateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/CreateSchedule", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_CreateSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_CreateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ScheduleService_DeleteSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/DeleteSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_DeleteSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_DeleteSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ScheduleService_GetSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/GetSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_GetSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_GetSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ScheduleService_ListSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ListSchedules", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_ListSchedules_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_ListSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ScheduleService_PauseSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/PauseSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}:pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_PauseSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_PauseSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ScheduleService_ResumeSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ResumeSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}:resume")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_ResumeSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_ResumeSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ScheduleService_UpdateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/UpdateSchedule", runtime.WithHTTPPathPattern("/v1beta1/{schedule.name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ScheduleService_UpdateSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_UpdateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterScheduleServiceHandlerFromEndpoint is same as RegisterScheduleServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterScheduleServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterScheduleServiceHandler(ctx, mux, conn) +} + +// RegisterScheduleServiceHandler registers the http handlers for service ScheduleService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterScheduleServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterScheduleServiceHandlerClient(ctx, mux, NewScheduleServiceClient(conn)) +} + +// RegisterScheduleServiceHandlerClient registers the http handlers for service ScheduleService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ScheduleServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ScheduleServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ScheduleServiceClient" to call the correct interceptors. +func RegisterScheduleServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ScheduleServiceClient) error { + + mux.Handle("POST", pattern_ScheduleService_CreateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/CreateSchedule", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_CreateSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_CreateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ScheduleService_DeleteSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/DeleteSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_DeleteSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_DeleteSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ScheduleService_GetSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/GetSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_GetSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_GetSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ScheduleService_ListSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ListSchedules", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_ListSchedules_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_ListSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ScheduleService_PauseSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/PauseSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}:pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_PauseSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_PauseSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ScheduleService_ResumeSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ResumeSchedule", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/schedules/*}:resume")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_ResumeSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_ResumeSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ScheduleService_UpdateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/UpdateSchedule", runtime.WithHTTPPathPattern("/v1beta1/{schedule.name=projects/*/locations/*/schedules/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ScheduleService_UpdateSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ScheduleService_UpdateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ScheduleService_CreateSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "schedules"}, "")) + + pattern_ScheduleService_DeleteSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "schedules", "name"}, "")) + + pattern_ScheduleService_GetSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "schedules", "name"}, "")) + + pattern_ScheduleService_ListSchedules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "schedules"}, "")) + + pattern_ScheduleService_PauseSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "schedules", "name"}, "pause")) + + pattern_ScheduleService_ResumeSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "schedules", "name"}, "resume")) + + pattern_ScheduleService_UpdateSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "schedules", "schedule.name"}, "")) +) + +var ( + forward_ScheduleService_CreateSchedule_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_DeleteSchedule_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_GetSchedule_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_ListSchedules_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_PauseSchedule_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_ResumeSchedule_0 = runtime.ForwardResponseMessage + + forward_ScheduleService_UpdateSchedule_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service_grpc.pb.go new file mode 100644 index 0000000000..adb19f17cb --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/schedule_service_grpc.pb.go @@ -0,0 +1,369 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/schedule_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// ScheduleServiceClient is the client API for ScheduleService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ScheduleServiceClient interface { + // Creates a Schedule. + CreateSchedule(ctx context.Context, in *CreateScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) + // Deletes a Schedule. + DeleteSchedule(ctx context.Context, in *DeleteScheduleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a Schedule. + GetSchedule(ctx context.Context, in *GetScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) + // Lists Schedules in a Location. + ListSchedules(ctx context.Context, in *ListSchedulesRequest, opts ...grpc.CallOption) (*ListSchedulesResponse, error) + // Pauses a Schedule. Will mark + // [Schedule.state][mockgcp.cloud.aiplatform.v1beta1.Schedule.state] to + // 'PAUSED'. If the schedule is paused, no new runs will be created. Already + // created runs will NOT be paused or canceled. + PauseSchedule(ctx context.Context, in *PauseScheduleRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Resumes a paused Schedule to start scheduling new runs. Will mark + // [Schedule.state][mockgcp.cloud.aiplatform.v1beta1.Schedule.state] to + // 'ACTIVE'. Only paused Schedule can be resumed. + // + // When the Schedule is resumed, new runs will be scheduled starting from the + // next execution time after the current time based on the time_specification + // in the Schedule. If [Schedule.catchUp][] is set up true, all + // missed runs will be scheduled for backfill first. + ResumeSchedule(ctx context.Context, in *ResumeScheduleRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Updates an active or paused Schedule. + // + // When the Schedule is updated, new runs will be scheduled starting from the + // updated next execution time after the update time based on the + // time_specification in the updated Schedule. All unstarted runs before the + // update time will be skipped while already created runs will NOT be paused + // or canceled. + UpdateSchedule(ctx context.Context, in *UpdateScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) +} + +type scheduleServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewScheduleServiceClient(cc grpc.ClientConnInterface) ScheduleServiceClient { + return &scheduleServiceClient{cc} +} + +func (c *scheduleServiceClient) CreateSchedule(ctx context.Context, in *CreateScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) { + out := new(Schedule) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/CreateSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) DeleteSchedule(ctx context.Context, in *DeleteScheduleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/DeleteSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) GetSchedule(ctx context.Context, in *GetScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) { + out := new(Schedule) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/GetSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) ListSchedules(ctx context.Context, in *ListSchedulesRequest, opts ...grpc.CallOption) (*ListSchedulesResponse, error) { + out := new(ListSchedulesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ListSchedules", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) PauseSchedule(ctx context.Context, in *PauseScheduleRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/PauseSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) ResumeSchedule(ctx context.Context, in *ResumeScheduleRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ResumeSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *scheduleServiceClient) UpdateSchedule(ctx context.Context, in *UpdateScheduleRequest, opts ...grpc.CallOption) (*Schedule, error) { + out := new(Schedule) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/UpdateSchedule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ScheduleServiceServer is the server API for ScheduleService service. +// All implementations must embed UnimplementedScheduleServiceServer +// for forward compatibility +type ScheduleServiceServer interface { + // Creates a Schedule. + CreateSchedule(context.Context, *CreateScheduleRequest) (*Schedule, error) + // Deletes a Schedule. + DeleteSchedule(context.Context, *DeleteScheduleRequest) (*longrunningpb.Operation, error) + // Gets a Schedule. + GetSchedule(context.Context, *GetScheduleRequest) (*Schedule, error) + // Lists Schedules in a Location. + ListSchedules(context.Context, *ListSchedulesRequest) (*ListSchedulesResponse, error) + // Pauses a Schedule. Will mark + // [Schedule.state][mockgcp.cloud.aiplatform.v1beta1.Schedule.state] to + // 'PAUSED'. If the schedule is paused, no new runs will be created. Already + // created runs will NOT be paused or canceled. + PauseSchedule(context.Context, *PauseScheduleRequest) (*empty.Empty, error) + // Resumes a paused Schedule to start scheduling new runs. Will mark + // [Schedule.state][mockgcp.cloud.aiplatform.v1beta1.Schedule.state] to + // 'ACTIVE'. Only paused Schedule can be resumed. + // + // When the Schedule is resumed, new runs will be scheduled starting from the + // next execution time after the current time based on the time_specification + // in the Schedule. If [Schedule.catchUp][] is set up true, all + // missed runs will be scheduled for backfill first. + ResumeSchedule(context.Context, *ResumeScheduleRequest) (*empty.Empty, error) + // Updates an active or paused Schedule. + // + // When the Schedule is updated, new runs will be scheduled starting from the + // updated next execution time after the update time based on the + // time_specification in the updated Schedule. All unstarted runs before the + // update time will be skipped while already created runs will NOT be paused + // or canceled. + UpdateSchedule(context.Context, *UpdateScheduleRequest) (*Schedule, error) + mustEmbedUnimplementedScheduleServiceServer() +} + +// UnimplementedScheduleServiceServer must be embedded to have forward compatible implementations. +type UnimplementedScheduleServiceServer struct { +} + +func (UnimplementedScheduleServiceServer) CreateSchedule(context.Context, *CreateScheduleRequest) (*Schedule, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) DeleteSchedule(context.Context, *DeleteScheduleRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) GetSchedule(context.Context, *GetScheduleRequest) (*Schedule, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) ListSchedules(context.Context, *ListSchedulesRequest) (*ListSchedulesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSchedules not implemented") +} +func (UnimplementedScheduleServiceServer) PauseSchedule(context.Context, *PauseScheduleRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method PauseSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) ResumeSchedule(context.Context, *ResumeScheduleRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) UpdateSchedule(context.Context, *UpdateScheduleRequest) (*Schedule, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSchedule not implemented") +} +func (UnimplementedScheduleServiceServer) mustEmbedUnimplementedScheduleServiceServer() {} + +// UnsafeScheduleServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ScheduleServiceServer will +// result in compilation errors. +type UnsafeScheduleServiceServer interface { + mustEmbedUnimplementedScheduleServiceServer() +} + +func RegisterScheduleServiceServer(s grpc.ServiceRegistrar, srv ScheduleServiceServer) { + s.RegisterService(&ScheduleService_ServiceDesc, srv) +} + +func _ScheduleService_CreateSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).CreateSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/CreateSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).CreateSchedule(ctx, req.(*CreateScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_DeleteSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).DeleteSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/DeleteSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).DeleteSchedule(ctx, req.(*DeleteScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_GetSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).GetSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/GetSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).GetSchedule(ctx, req.(*GetScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_ListSchedules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSchedulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).ListSchedules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ListSchedules", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).ListSchedules(ctx, req.(*ListSchedulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_PauseSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).PauseSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/PauseSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).PauseSchedule(ctx, req.(*PauseScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_ResumeSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResumeScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).ResumeSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/ResumeSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).ResumeSchedule(ctx, req.(*ResumeScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ScheduleService_UpdateSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ScheduleServiceServer).UpdateSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.ScheduleService/UpdateSchedule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ScheduleServiceServer).UpdateSchedule(ctx, req.(*UpdateScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ScheduleService_ServiceDesc is the grpc.ServiceDesc for ScheduleService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ScheduleService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.ScheduleService", + HandlerType: (*ScheduleServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateSchedule", + Handler: _ScheduleService_CreateSchedule_Handler, + }, + { + MethodName: "DeleteSchedule", + Handler: _ScheduleService_DeleteSchedule_Handler, + }, + { + MethodName: "GetSchedule", + Handler: _ScheduleService_GetSchedule_Handler, + }, + { + MethodName: "ListSchedules", + Handler: _ScheduleService_ListSchedules_Handler, + }, + { + MethodName: "PauseSchedule", + Handler: _ScheduleService_PauseSchedule_Handler, + }, + { + MethodName: "ResumeSchedule", + Handler: _ScheduleService_ResumeSchedule_Handler, + }, + { + MethodName: "UpdateSchedule", + Handler: _ScheduleService_UpdateSchedule_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/schedule_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/service_networking.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/service_networking.pb.go new file mode 100644 index 0000000000..70660f66fc --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/service_networking.pb.go @@ -0,0 +1,286 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/service_networking.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents configuration for private service connect. +type PrivateServiceConnectConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. If true, expose the IndexEndpoint via private service connect. + EnablePrivateServiceConnect bool `protobuf:"varint,1,opt,name=enable_private_service_connect,json=enablePrivateServiceConnect,proto3" json:"enable_private_service_connect,omitempty"` + // A list of Projects from which the forwarding rule will target the service + // attachment. + ProjectAllowlist []string `protobuf:"bytes,2,rep,name=project_allowlist,json=projectAllowlist,proto3" json:"project_allowlist,omitempty"` +} + +func (x *PrivateServiceConnectConfig) Reset() { + *x = PrivateServiceConnectConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateServiceConnectConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateServiceConnectConfig) ProtoMessage() {} + +func (x *PrivateServiceConnectConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[0] + 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 PrivateServiceConnectConfig.ProtoReflect.Descriptor instead. +func (*PrivateServiceConnectConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescGZIP(), []int{0} +} + +func (x *PrivateServiceConnectConfig) GetEnablePrivateServiceConnect() bool { + if x != nil { + return x.EnablePrivateServiceConnect + } + return false +} + +func (x *PrivateServiceConnectConfig) GetProjectAllowlist() []string { + if x != nil { + return x.ProjectAllowlist + } + return nil +} + +// PscAutomatedEndpoints defines the output of the forwarding rule +// automatically created by each PscAutomationConfig. +type PscAutomatedEndpoints struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Corresponding project_id in pscAutomationConfigs + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Corresponding network in pscAutomationConfigs. + Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + // Ip Address created by the automated forwarding rule. + MatchAddress string `protobuf:"bytes,3,opt,name=match_address,json=matchAddress,proto3" json:"match_address,omitempty"` +} + +func (x *PscAutomatedEndpoints) Reset() { + *x = PscAutomatedEndpoints{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PscAutomatedEndpoints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PscAutomatedEndpoints) ProtoMessage() {} + +func (x *PscAutomatedEndpoints) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[1] + 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 PscAutomatedEndpoints.ProtoReflect.Descriptor instead. +func (*PscAutomatedEndpoints) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescGZIP(), []int{1} +} + +func (x *PscAutomatedEndpoints) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *PscAutomatedEndpoints) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *PscAutomatedEndpoints) GetMatchAddress() string { + if x != nil { + return x.MatchAddress + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDesc = []byte{ + 0x0a, 0x39, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x1b, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x1e, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, + 0x22, 0x75, 0x0a, 0x15, 0x50, 0x73, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 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, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0xee, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_goTypes = []interface{}{ + (*PrivateServiceConnectConfig)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.PrivateServiceConnectConfig + (*PscAutomatedEndpoints)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.PscAutomatedEndpoints +} +var file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateServiceConnectConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PscAutomatedEndpoints); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_service_networking_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool.pb.go new file mode 100644 index 0000000000..9b76301030 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool.pb.go @@ -0,0 +1,260 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/specialist_pool.proto + +package aiplatformpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// SpecialistPool represents customers' own workforce to work on their data +// labeling jobs. It includes a group of specialist managers and workers. +// Managers are responsible for managing the workers in this pool as well as +// customers' data labeling jobs associated with this pool. Customers create +// specialist pool as well as start data labeling jobs on Cloud, managers and +// workers handle the jobs using CrowdCompute console. +type SpecialistPool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the SpecialistPool. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of the SpecialistPool. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + // This field should be unique on project-level. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. The number of managers in this SpecialistPool. + SpecialistManagersCount int32 `protobuf:"varint,3,opt,name=specialist_managers_count,json=specialistManagersCount,proto3" json:"specialist_managers_count,omitempty"` + // The email addresses of the managers in the SpecialistPool. + SpecialistManagerEmails []string `protobuf:"bytes,4,rep,name=specialist_manager_emails,json=specialistManagerEmails,proto3" json:"specialist_manager_emails,omitempty"` + // Output only. The resource name of the pending data labeling jobs. + PendingDataLabelingJobs []string `protobuf:"bytes,5,rep,name=pending_data_labeling_jobs,json=pendingDataLabelingJobs,proto3" json:"pending_data_labeling_jobs,omitempty"` + // The email addresses of workers in the SpecialistPool. + SpecialistWorkerEmails []string `protobuf:"bytes,7,rep,name=specialist_worker_emails,json=specialistWorkerEmails,proto3" json:"specialist_worker_emails,omitempty"` +} + +func (x *SpecialistPool) Reset() { + *x = SpecialistPool{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpecialistPool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpecialistPool) ProtoMessage() {} + +func (x *SpecialistPool) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_msgTypes[0] + 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 SpecialistPool.ProtoReflect.Descriptor instead. +func (*SpecialistPool) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescGZIP(), []int{0} +} + +func (x *SpecialistPool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SpecialistPool) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *SpecialistPool) GetSpecialistManagersCount() int32 { + if x != nil { + return x.SpecialistManagersCount + } + return 0 +} + +func (x *SpecialistPool) GetSpecialistManagerEmails() []string { + if x != nil { + return x.SpecialistManagerEmails + } + return nil +} + +func (x *SpecialistPool) GetPendingDataLabelingJobs() []string { + if x != nil { + return x.PendingDataLabelingJobs + } + return nil +} + +func (x *SpecialistPool) GetSpecialistWorkerEmails() []string { + if x != nil { + return x.SpecialistWorkerEmails + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 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, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x19, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x17, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x1a, 0x70, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x73, 0x3a, 0x78, 0xea, 0x41, 0x75, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x42, 0xeb, 0x01, + 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_goTypes = []interface{}{ + (*SpecialistPool)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.SpecialistPool +} +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpecialistPool); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.go new file mode 100644 index 0000000000..6483857e12 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.go @@ -0,0 +1,921 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [SpecialistPoolService.CreateSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool]. +type CreateSpecialistPoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent Project name for the new SpecialistPool. + // The form is `projects/{project}/locations/{location}`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The SpecialistPool to create. + SpecialistPool *SpecialistPool `protobuf:"bytes,2,opt,name=specialist_pool,json=specialistPool,proto3" json:"specialist_pool,omitempty"` +} + +func (x *CreateSpecialistPoolRequest) Reset() { + *x = CreateSpecialistPoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSpecialistPoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSpecialistPoolRequest) ProtoMessage() {} + +func (x *CreateSpecialistPoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[0] + 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 CreateSpecialistPoolRequest.ProtoReflect.Descriptor instead. +func (*CreateSpecialistPoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateSpecialistPoolRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateSpecialistPoolRequest) GetSpecialistPool() *SpecialistPool { + if x != nil { + return x.SpecialistPool + } + return nil +} + +// Runtime operation information for +// [SpecialistPoolService.CreateSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool]. +type CreateSpecialistPoolOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateSpecialistPoolOperationMetadata) Reset() { + *x = CreateSpecialistPoolOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSpecialistPoolOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSpecialistPoolOperationMetadata) ProtoMessage() {} + +func (x *CreateSpecialistPoolOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[1] + 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 CreateSpecialistPoolOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateSpecialistPoolOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateSpecialistPoolOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [SpecialistPoolService.GetSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool]. +type GetSpecialistPoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the SpecialistPool resource. + // The form is + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetSpecialistPoolRequest) Reset() { + *x = GetSpecialistPoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSpecialistPoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSpecialistPoolRequest) ProtoMessage() {} + +func (x *GetSpecialistPoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_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 GetSpecialistPoolRequest.ProtoReflect.Descriptor instead. +func (*GetSpecialistPoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetSpecialistPoolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [SpecialistPoolService.ListSpecialistPools][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools]. +type ListSpecialistPoolsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the SpecialistPool's parent resource. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The standard list page size. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The standard list page token. + // Typically obtained by + // [ListSpecialistPoolsResponse.next_page_token][mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsResponse.next_page_token] + // of the previous + // [SpecialistPoolService.ListSpecialistPools][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools] + // call. Return first page if empty. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Mask specifying which fields to read. FieldMask represents a set of + ReadMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListSpecialistPoolsRequest) Reset() { + *x = ListSpecialistPoolsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSpecialistPoolsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSpecialistPoolsRequest) ProtoMessage() {} + +func (x *ListSpecialistPoolsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[3] + 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 ListSpecialistPoolsRequest.ProtoReflect.Descriptor instead. +func (*ListSpecialistPoolsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListSpecialistPoolsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListSpecialistPoolsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListSpecialistPoolsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListSpecialistPoolsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [SpecialistPoolService.ListSpecialistPools][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools]. +type ListSpecialistPoolsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of SpecialistPools that matches the specified filter in the request. + SpecialistPools []*SpecialistPool `protobuf:"bytes,1,rep,name=specialist_pools,json=specialistPools,proto3" json:"specialist_pools,omitempty"` + // The standard List next-page token. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListSpecialistPoolsResponse) Reset() { + *x = ListSpecialistPoolsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListSpecialistPoolsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSpecialistPoolsResponse) ProtoMessage() {} + +func (x *ListSpecialistPoolsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[4] + 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 ListSpecialistPoolsResponse.ProtoReflect.Descriptor instead. +func (*ListSpecialistPoolsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListSpecialistPoolsResponse) GetSpecialistPools() []*SpecialistPool { + if x != nil { + return x.SpecialistPools + } + return nil +} + +func (x *ListSpecialistPoolsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [SpecialistPoolService.DeleteSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool]. +type DeleteSpecialistPoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the SpecialistPool to delete. Format: + // `projects/{project}/locations/{location}/specialistPools/{specialist_pool}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set to true, any specialist managers in this SpecialistPool will also be + // deleted. (Otherwise, the request will only work if the SpecialistPool has + // no specialist managers.) + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteSpecialistPoolRequest) Reset() { + *x = DeleteSpecialistPoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteSpecialistPoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteSpecialistPoolRequest) ProtoMessage() {} + +func (x *DeleteSpecialistPoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[5] + 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 DeleteSpecialistPoolRequest.ProtoReflect.Descriptor instead. +func (*DeleteSpecialistPoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteSpecialistPoolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteSpecialistPoolRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for +// [SpecialistPoolService.UpdateSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool]. +type UpdateSpecialistPoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The SpecialistPool which replaces the resource on the server. + SpecialistPool *SpecialistPool `protobuf:"bytes,1,opt,name=specialist_pool,json=specialistPool,proto3" json:"specialist_pool,omitempty"` + // Required. The update mask applies to the resource. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateSpecialistPoolRequest) Reset() { + *x = UpdateSpecialistPoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSpecialistPoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSpecialistPoolRequest) ProtoMessage() {} + +func (x *UpdateSpecialistPoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_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 UpdateSpecialistPoolRequest.ProtoReflect.Descriptor instead. +func (*UpdateSpecialistPoolRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateSpecialistPoolRequest) GetSpecialistPool() *SpecialistPool { + if x != nil { + return x.SpecialistPool + } + return nil +} + +func (x *UpdateSpecialistPoolRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Runtime operation metadata for +// [SpecialistPoolService.UpdateSpecialistPool][mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool]. +type UpdateSpecialistPoolOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the SpecialistPool to which the specialists are + // being added. Format: + // `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}` + SpecialistPool string `protobuf:"bytes,1,opt,name=specialist_pool,json=specialistPool,proto3" json:"specialist_pool,omitempty"` + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,2,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateSpecialistPoolOperationMetadata) Reset() { + *x = UpdateSpecialistPoolOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSpecialistPoolOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSpecialistPoolOperationMetadata) ProtoMessage() {} + +func (x *UpdateSpecialistPoolOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[7] + 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 UpdateSpecialistPoolOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateSpecialistPoolOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateSpecialistPoolOperationMetadata) GetSpecialistPool() string { + if x != nil { + return x.SpecialistPool + } + return "" +} + +func (x *UpdateSpecialistPoolOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDesc = []byte{ + 0x0a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 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, 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, 0x22, 0xc0, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x8e, 0x01, 0x0a, 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 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, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5b, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 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, 0x79, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x5e, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x02, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0xe9, 0x01, 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x0f, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xd7, + 0x0a, 0x0a, 0x15, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9b, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 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, + 0xa4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x3a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0xda, 0x41, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0xca, 0x41, 0x37, 0x0a, + 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xca, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, + 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, + 0x12, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0xf0, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 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, 0x7a, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb0, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, + 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 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, 0xb9, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x32, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0xda, 0x41, 0x1b, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, + 0x41, 0x37, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 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, 0xf2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x1a, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_goTypes = []interface{}{ + (*CreateSpecialistPoolRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateSpecialistPoolRequest + (*CreateSpecialistPoolOperationMetadata)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.CreateSpecialistPoolOperationMetadata + (*GetSpecialistPoolRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.GetSpecialistPoolRequest + (*ListSpecialistPoolsRequest)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsRequest + (*ListSpecialistPoolsResponse)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsResponse + (*DeleteSpecialistPoolRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteSpecialistPoolRequest + (*UpdateSpecialistPoolRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolRequest + (*UpdateSpecialistPoolOperationMetadata)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolOperationMetadata + (*SpecialistPool)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.SpecialistPool + (*GenericOperationMetadata)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*field_mask.FieldMask)(nil), // 10: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 11: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_depIdxs = []int32{ + 8, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateSpecialistPoolRequest.specialist_pool:type_name -> mockgcp.cloud.aiplatform.v1beta1.SpecialistPool + 9, // 1: mockgcp.cloud.aiplatform.v1beta1.CreateSpecialistPoolOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 10, // 2: mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsRequest.read_mask:type_name -> google.protobuf.FieldMask + 8, // 3: mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsResponse.specialist_pools:type_name -> mockgcp.cloud.aiplatform.v1beta1.SpecialistPool + 8, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolRequest.specialist_pool:type_name -> mockgcp.cloud.aiplatform.v1beta1.SpecialistPool + 10, // 5: mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolRequest.update_mask:type_name -> google.protobuf.FieldMask + 9, // 6: mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 7: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateSpecialistPoolRequest + 2, // 8: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetSpecialistPoolRequest + 3, // 9: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsRequest + 5, // 10: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteSpecialistPoolRequest + 6, // 11: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateSpecialistPoolRequest + 11, // 12: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool:output_type -> google.longrunning.Operation + 8, // 13: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool:output_type -> mockgcp.cloud.aiplatform.v1beta1.SpecialistPool + 4, // 14: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListSpecialistPoolsResponse + 11, // 15: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool:output_type -> google.longrunning.Operation + 11, // 16: mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool:output_type -> google.longrunning.Operation + 12, // [12:17] is the sub-list for method output_type + 7, // [7:12] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSpecialistPoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSpecialistPoolOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSpecialistPoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSpecialistPoolsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSpecialistPoolsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteSpecialistPoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSpecialistPoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSpecialistPoolOperationMetadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_specialist_pool_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.gw.go new file mode 100644 index 0000000000..86c1421c06 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.pb.gw.go @@ -0,0 +1,701 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_SpecialistPoolService_CreateSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, client SpecialistPoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateSpecialistPoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SpecialistPool); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateSpecialistPool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SpecialistPoolService_CreateSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, server SpecialistPoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateSpecialistPoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SpecialistPool); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateSpecialistPool(ctx, &protoReq) + return msg, metadata, err + +} + +func request_SpecialistPoolService_GetSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, client SpecialistPoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetSpecialistPoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetSpecialistPool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SpecialistPoolService_GetSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, server SpecialistPoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetSpecialistPoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetSpecialistPool(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_SpecialistPoolService_ListSpecialistPools_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_SpecialistPoolService_ListSpecialistPools_0(ctx context.Context, marshaler runtime.Marshaler, client SpecialistPoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSpecialistPoolsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_ListSpecialistPools_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListSpecialistPools(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SpecialistPoolService_ListSpecialistPools_0(ctx context.Context, marshaler runtime.Marshaler, server SpecialistPoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSpecialistPoolsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_ListSpecialistPools_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListSpecialistPools(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_SpecialistPoolService_DeleteSpecialistPool_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_SpecialistPoolService_DeleteSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, client SpecialistPoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteSpecialistPoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_DeleteSpecialistPool_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteSpecialistPool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SpecialistPoolService_DeleteSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, server SpecialistPoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteSpecialistPoolRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_DeleteSpecialistPool_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteSpecialistPool(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_SpecialistPoolService_UpdateSpecialistPool_0 = &utilities.DoubleArray{Encoding: map[string]int{"specialist_pool": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_SpecialistPoolService_UpdateSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, client SpecialistPoolServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateSpecialistPoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SpecialistPool); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.SpecialistPool); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["specialist_pool.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "specialist_pool.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "specialist_pool.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "specialist_pool.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_UpdateSpecialistPool_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateSpecialistPool(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_SpecialistPoolService_UpdateSpecialistPool_0(ctx context.Context, marshaler runtime.Marshaler, server SpecialistPoolServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateSpecialistPoolRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.SpecialistPool); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.SpecialistPool); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["specialist_pool.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "specialist_pool.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "specialist_pool.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "specialist_pool.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_SpecialistPoolService_UpdateSpecialistPool_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateSpecialistPool(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterSpecialistPoolServiceHandlerServer registers the http handlers for service SpecialistPoolService to "mux". +// UnaryRPC :call SpecialistPoolServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterSpecialistPoolServiceHandlerFromEndpoint instead. +func RegisterSpecialistPoolServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server SpecialistPoolServiceServer) error { + + mux.Handle("POST", pattern_SpecialistPoolService_CreateSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/CreateSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/specialistPools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SpecialistPoolService_CreateSpecialistPool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_CreateSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SpecialistPoolService_GetSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/GetSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SpecialistPoolService_GetSpecialistPool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_GetSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SpecialistPoolService_ListSpecialistPools_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/ListSpecialistPools", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/specialistPools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SpecialistPoolService_ListSpecialistPools_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_ListSpecialistPools_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_SpecialistPoolService_DeleteSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/DeleteSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SpecialistPoolService_DeleteSpecialistPool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_DeleteSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_SpecialistPoolService_UpdateSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/UpdateSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{specialist_pool.name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_SpecialistPoolService_UpdateSpecialistPool_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_UpdateSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterSpecialistPoolServiceHandlerFromEndpoint is same as RegisterSpecialistPoolServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterSpecialistPoolServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterSpecialistPoolServiceHandler(ctx, mux, conn) +} + +// RegisterSpecialistPoolServiceHandler registers the http handlers for service SpecialistPoolService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterSpecialistPoolServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterSpecialistPoolServiceHandlerClient(ctx, mux, NewSpecialistPoolServiceClient(conn)) +} + +// RegisterSpecialistPoolServiceHandlerClient registers the http handlers for service SpecialistPoolService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "SpecialistPoolServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "SpecialistPoolServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "SpecialistPoolServiceClient" to call the correct interceptors. +func RegisterSpecialistPoolServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client SpecialistPoolServiceClient) error { + + mux.Handle("POST", pattern_SpecialistPoolService_CreateSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/CreateSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/specialistPools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SpecialistPoolService_CreateSpecialistPool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_CreateSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SpecialistPoolService_GetSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/GetSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SpecialistPoolService_GetSpecialistPool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_GetSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_SpecialistPoolService_ListSpecialistPools_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/ListSpecialistPools", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/specialistPools")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SpecialistPoolService_ListSpecialistPools_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_ListSpecialistPools_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_SpecialistPoolService_DeleteSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/DeleteSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SpecialistPoolService_DeleteSpecialistPool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_DeleteSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_SpecialistPoolService_UpdateSpecialistPool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/UpdateSpecialistPool", runtime.WithHTTPPathPattern("/v1beta1/{specialist_pool.name=projects/*/locations/*/specialistPools/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_SpecialistPoolService_UpdateSpecialistPool_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_SpecialistPoolService_UpdateSpecialistPool_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_SpecialistPoolService_CreateSpecialistPool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "specialistPools"}, "")) + + pattern_SpecialistPoolService_GetSpecialistPool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "specialistPools", "name"}, "")) + + pattern_SpecialistPoolService_ListSpecialistPools_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "specialistPools"}, "")) + + pattern_SpecialistPoolService_DeleteSpecialistPool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "specialistPools", "name"}, "")) + + pattern_SpecialistPoolService_UpdateSpecialistPool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "specialistPools", "specialist_pool.name"}, "")) +) + +var ( + forward_SpecialistPoolService_CreateSpecialistPool_0 = runtime.ForwardResponseMessage + + forward_SpecialistPoolService_GetSpecialistPool_0 = runtime.ForwardResponseMessage + + forward_SpecialistPoolService_ListSpecialistPools_0 = runtime.ForwardResponseMessage + + forward_SpecialistPoolService_DeleteSpecialistPool_0 = runtime.ForwardResponseMessage + + forward_SpecialistPoolService_UpdateSpecialistPool_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service_grpc.pb.go new file mode 100644 index 0000000000..76c823780c --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service_grpc.pb.go @@ -0,0 +1,260 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// SpecialistPoolServiceClient is the client API for SpecialistPoolService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SpecialistPoolServiceClient interface { + // Creates a SpecialistPool. + CreateSpecialistPool(ctx context.Context, in *CreateSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a SpecialistPool. + GetSpecialistPool(ctx context.Context, in *GetSpecialistPoolRequest, opts ...grpc.CallOption) (*SpecialistPool, error) + // Lists SpecialistPools in a Location. + ListSpecialistPools(ctx context.Context, in *ListSpecialistPoolsRequest, opts ...grpc.CallOption) (*ListSpecialistPoolsResponse, error) + // Deletes a SpecialistPool as well as all Specialists in the pool. + DeleteSpecialistPool(ctx context.Context, in *DeleteSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a SpecialistPool. + UpdateSpecialistPool(ctx context.Context, in *UpdateSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type specialistPoolServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSpecialistPoolServiceClient(cc grpc.ClientConnInterface) SpecialistPoolServiceClient { + return &specialistPoolServiceClient{cc} +} + +func (c *specialistPoolServiceClient) CreateSpecialistPool(ctx context.Context, in *CreateSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/CreateSpecialistPool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *specialistPoolServiceClient) GetSpecialistPool(ctx context.Context, in *GetSpecialistPoolRequest, opts ...grpc.CallOption) (*SpecialistPool, error) { + out := new(SpecialistPool) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/GetSpecialistPool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *specialistPoolServiceClient) ListSpecialistPools(ctx context.Context, in *ListSpecialistPoolsRequest, opts ...grpc.CallOption) (*ListSpecialistPoolsResponse, error) { + out := new(ListSpecialistPoolsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/ListSpecialistPools", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *specialistPoolServiceClient) DeleteSpecialistPool(ctx context.Context, in *DeleteSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/DeleteSpecialistPool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *specialistPoolServiceClient) UpdateSpecialistPool(ctx context.Context, in *UpdateSpecialistPoolRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/UpdateSpecialistPool", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SpecialistPoolServiceServer is the server API for SpecialistPoolService service. +// All implementations must embed UnimplementedSpecialistPoolServiceServer +// for forward compatibility +type SpecialistPoolServiceServer interface { + // Creates a SpecialistPool. + CreateSpecialistPool(context.Context, *CreateSpecialistPoolRequest) (*longrunningpb.Operation, error) + // Gets a SpecialistPool. + GetSpecialistPool(context.Context, *GetSpecialistPoolRequest) (*SpecialistPool, error) + // Lists SpecialistPools in a Location. + ListSpecialistPools(context.Context, *ListSpecialistPoolsRequest) (*ListSpecialistPoolsResponse, error) + // Deletes a SpecialistPool as well as all Specialists in the pool. + DeleteSpecialistPool(context.Context, *DeleteSpecialistPoolRequest) (*longrunningpb.Operation, error) + // Updates a SpecialistPool. + UpdateSpecialistPool(context.Context, *UpdateSpecialistPoolRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedSpecialistPoolServiceServer() +} + +// UnimplementedSpecialistPoolServiceServer must be embedded to have forward compatible implementations. +type UnimplementedSpecialistPoolServiceServer struct { +} + +func (UnimplementedSpecialistPoolServiceServer) CreateSpecialistPool(context.Context, *CreateSpecialistPoolRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSpecialistPool not implemented") +} +func (UnimplementedSpecialistPoolServiceServer) GetSpecialistPool(context.Context, *GetSpecialistPoolRequest) (*SpecialistPool, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSpecialistPool not implemented") +} +func (UnimplementedSpecialistPoolServiceServer) ListSpecialistPools(context.Context, *ListSpecialistPoolsRequest) (*ListSpecialistPoolsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSpecialistPools not implemented") +} +func (UnimplementedSpecialistPoolServiceServer) DeleteSpecialistPool(context.Context, *DeleteSpecialistPoolRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSpecialistPool not implemented") +} +func (UnimplementedSpecialistPoolServiceServer) UpdateSpecialistPool(context.Context, *UpdateSpecialistPoolRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSpecialistPool not implemented") +} +func (UnimplementedSpecialistPoolServiceServer) mustEmbedUnimplementedSpecialistPoolServiceServer() {} + +// UnsafeSpecialistPoolServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SpecialistPoolServiceServer will +// result in compilation errors. +type UnsafeSpecialistPoolServiceServer interface { + mustEmbedUnimplementedSpecialistPoolServiceServer() +} + +func RegisterSpecialistPoolServiceServer(s grpc.ServiceRegistrar, srv SpecialistPoolServiceServer) { + s.RegisterService(&SpecialistPoolService_ServiceDesc, srv) +} + +func _SpecialistPoolService_CreateSpecialistPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSpecialistPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SpecialistPoolServiceServer).CreateSpecialistPool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/CreateSpecialistPool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SpecialistPoolServiceServer).CreateSpecialistPool(ctx, req.(*CreateSpecialistPoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SpecialistPoolService_GetSpecialistPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSpecialistPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SpecialistPoolServiceServer).GetSpecialistPool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/GetSpecialistPool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SpecialistPoolServiceServer).GetSpecialistPool(ctx, req.(*GetSpecialistPoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SpecialistPoolService_ListSpecialistPools_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSpecialistPoolsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SpecialistPoolServiceServer).ListSpecialistPools(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/ListSpecialistPools", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SpecialistPoolServiceServer).ListSpecialistPools(ctx, req.(*ListSpecialistPoolsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SpecialistPoolService_DeleteSpecialistPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSpecialistPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SpecialistPoolServiceServer).DeleteSpecialistPool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/DeleteSpecialistPool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SpecialistPoolServiceServer).DeleteSpecialistPool(ctx, req.(*DeleteSpecialistPoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SpecialistPoolService_UpdateSpecialistPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSpecialistPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SpecialistPoolServiceServer).UpdateSpecialistPool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService/UpdateSpecialistPool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SpecialistPoolServiceServer).UpdateSpecialistPool(ctx, req.(*UpdateSpecialistPoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// SpecialistPoolService_ServiceDesc is the grpc.ServiceDesc for SpecialistPoolService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SpecialistPoolService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.SpecialistPoolService", + HandlerType: (*SpecialistPoolServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateSpecialistPool", + Handler: _SpecialistPoolService_CreateSpecialistPool_Handler, + }, + { + MethodName: "GetSpecialistPool", + Handler: _SpecialistPoolService_GetSpecialistPool_Handler, + }, + { + MethodName: "ListSpecialistPools", + Handler: _SpecialistPoolService_ListSpecialistPools_Handler, + }, + { + MethodName: "DeleteSpecialistPool", + Handler: _SpecialistPoolService_DeleteSpecialistPool_Handler, + }, + { + MethodName: "UpdateSpecialistPool", + Handler: _SpecialistPoolService_UpdateSpecialistPool_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/specialist_pool_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/study.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/study.pb.go new file mode 100644 index 0000000000..6d15cbbc64 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/study.pb.go @@ -0,0 +1,3653 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/study.proto + +package aiplatformpb + +import ( + duration "github.com/golang/protobuf/ptypes/duration" + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + wrappers "github.com/golang/protobuf/ptypes/wrappers" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Describes the Study state. +type Study_State int32 + +const ( + // The study state is unspecified. + Study_STATE_UNSPECIFIED Study_State = 0 + // The study is active. + Study_ACTIVE Study_State = 1 + // The study is stopped due to an internal error. + Study_INACTIVE Study_State = 2 + // The study is done when the service exhausts the parameter search space + // or max_trial_count is reached. + Study_COMPLETED Study_State = 3 +) + +// Enum value maps for Study_State. +var ( + Study_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "INACTIVE", + 3: "COMPLETED", + } + Study_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "INACTIVE": 2, + "COMPLETED": 3, + } +) + +func (x Study_State) Enum() *Study_State { + p := new(Study_State) + *p = x + return p +} + +func (x Study_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Study_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[0].Descriptor() +} + +func (Study_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[0] +} + +func (x Study_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Study_State.Descriptor instead. +func (Study_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{0, 0} +} + +// Describes a Trial state. +type Trial_State int32 + +const ( + // The Trial state is unspecified. + Trial_STATE_UNSPECIFIED Trial_State = 0 + // Indicates that a specific Trial has been requested, but it has not yet + // been suggested by the service. + Trial_REQUESTED Trial_State = 1 + // Indicates that the Trial has been suggested. + Trial_ACTIVE Trial_State = 2 + // Indicates that the Trial should stop according to the service. + Trial_STOPPING Trial_State = 3 + // Indicates that the Trial is completed successfully. + Trial_SUCCEEDED Trial_State = 4 + // Indicates that the Trial should not be attempted again. + // The service will set a Trial to INFEASIBLE when it's done but missing + // the final_measurement. + Trial_INFEASIBLE Trial_State = 5 +) + +// Enum value maps for Trial_State. +var ( + Trial_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "REQUESTED", + 2: "ACTIVE", + 3: "STOPPING", + 4: "SUCCEEDED", + 5: "INFEASIBLE", + } + Trial_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "REQUESTED": 1, + "ACTIVE": 2, + "STOPPING": 3, + "SUCCEEDED": 4, + "INFEASIBLE": 5, + } +) + +func (x Trial_State) Enum() *Trial_State { + p := new(Trial_State) + *p = x + return p +} + +func (x Trial_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Trial_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[1].Descriptor() +} + +func (Trial_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[1] +} + +func (x Trial_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Trial_State.Descriptor instead. +func (Trial_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 0} +} + +// The available search algorithms for the Study. +type StudySpec_Algorithm int32 + +const ( + // The default algorithm used by Vertex AI for [hyperparameter + // tuning](https://cloud.google.com/vertex-ai/docs/training/hyperparameter-tuning-overview) + // and [Vertex AI Vizier](https://cloud.google.com/vertex-ai/docs/vizier). + StudySpec_ALGORITHM_UNSPECIFIED StudySpec_Algorithm = 0 + // Simple grid search within the feasible space. To use grid search, + // all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`. + StudySpec_GRID_SEARCH StudySpec_Algorithm = 2 + // Simple random search within the feasible space. + StudySpec_RANDOM_SEARCH StudySpec_Algorithm = 3 +) + +// Enum value maps for StudySpec_Algorithm. +var ( + StudySpec_Algorithm_name = map[int32]string{ + 0: "ALGORITHM_UNSPECIFIED", + 2: "GRID_SEARCH", + 3: "RANDOM_SEARCH", + } + StudySpec_Algorithm_value = map[string]int32{ + "ALGORITHM_UNSPECIFIED": 0, + "GRID_SEARCH": 2, + "RANDOM_SEARCH": 3, + } +) + +func (x StudySpec_Algorithm) Enum() *StudySpec_Algorithm { + p := new(StudySpec_Algorithm) + *p = x + return p +} + +func (x StudySpec_Algorithm) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StudySpec_Algorithm) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[2].Descriptor() +} + +func (StudySpec_Algorithm) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[2] +} + +func (x StudySpec_Algorithm) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StudySpec_Algorithm.Descriptor instead. +func (StudySpec_Algorithm) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 0} +} + +// Describes the noise level of the repeated observations. +// +// "Noisy" means that the repeated observations with the same Trial parameters +// may lead to different metric evaluations. +type StudySpec_ObservationNoise int32 + +const ( + // The default noise level chosen by Vertex AI. + StudySpec_OBSERVATION_NOISE_UNSPECIFIED StudySpec_ObservationNoise = 0 + // Vertex AI assumes that the objective function is (nearly) + // perfectly reproducible, and will never repeat the same Trial + // parameters. + StudySpec_LOW StudySpec_ObservationNoise = 1 + // Vertex AI will estimate the amount of noise in metric + // evaluations, it may repeat the same Trial parameters more than once. + StudySpec_HIGH StudySpec_ObservationNoise = 2 +) + +// Enum value maps for StudySpec_ObservationNoise. +var ( + StudySpec_ObservationNoise_name = map[int32]string{ + 0: "OBSERVATION_NOISE_UNSPECIFIED", + 1: "LOW", + 2: "HIGH", + } + StudySpec_ObservationNoise_value = map[string]int32{ + "OBSERVATION_NOISE_UNSPECIFIED": 0, + "LOW": 1, + "HIGH": 2, + } +) + +func (x StudySpec_ObservationNoise) Enum() *StudySpec_ObservationNoise { + p := new(StudySpec_ObservationNoise) + *p = x + return p +} + +func (x StudySpec_ObservationNoise) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StudySpec_ObservationNoise) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[3].Descriptor() +} + +func (StudySpec_ObservationNoise) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[3] +} + +func (x StudySpec_ObservationNoise) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StudySpec_ObservationNoise.Descriptor instead. +func (StudySpec_ObservationNoise) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1} +} + +// This indicates which measurement to use if/when the service automatically +// selects the final measurement from previously reported intermediate +// measurements. Choose this based on two considerations: +// +// A) Do you expect your measurements to monotonically improve? +// If so, choose LAST_MEASUREMENT. On the other hand, if you're in a +// situation where your system can "over-train" and you expect the +// performance to get better for a while but then start declining, +// choose BEST_MEASUREMENT. +// B) Are your measurements significantly noisy and/or irreproducible? +// If so, BEST_MEASUREMENT will tend to be over-optimistic, and it +// may be better to choose LAST_MEASUREMENT. +// If both or neither of (A) and (B) apply, it doesn't matter which +// selection type is chosen. +type StudySpec_MeasurementSelectionType int32 + +const ( + // Will be treated as LAST_MEASUREMENT. + StudySpec_MEASUREMENT_SELECTION_TYPE_UNSPECIFIED StudySpec_MeasurementSelectionType = 0 + // Use the last measurement reported. + StudySpec_LAST_MEASUREMENT StudySpec_MeasurementSelectionType = 1 + // Use the best measurement reported. + StudySpec_BEST_MEASUREMENT StudySpec_MeasurementSelectionType = 2 +) + +// Enum value maps for StudySpec_MeasurementSelectionType. +var ( + StudySpec_MeasurementSelectionType_name = map[int32]string{ + 0: "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED", + 1: "LAST_MEASUREMENT", + 2: "BEST_MEASUREMENT", + } + StudySpec_MeasurementSelectionType_value = map[string]int32{ + "MEASUREMENT_SELECTION_TYPE_UNSPECIFIED": 0, + "LAST_MEASUREMENT": 1, + "BEST_MEASUREMENT": 2, + } +) + +func (x StudySpec_MeasurementSelectionType) Enum() *StudySpec_MeasurementSelectionType { + p := new(StudySpec_MeasurementSelectionType) + *p = x + return p +} + +func (x StudySpec_MeasurementSelectionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StudySpec_MeasurementSelectionType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[4].Descriptor() +} + +func (StudySpec_MeasurementSelectionType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[4] +} + +func (x StudySpec_MeasurementSelectionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StudySpec_MeasurementSelectionType.Descriptor instead. +func (StudySpec_MeasurementSelectionType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 2} +} + +// The available types of optimization goals. +type StudySpec_MetricSpec_GoalType int32 + +const ( + // Goal Type will default to maximize. + StudySpec_MetricSpec_GOAL_TYPE_UNSPECIFIED StudySpec_MetricSpec_GoalType = 0 + // Maximize the goal metric. + StudySpec_MetricSpec_MAXIMIZE StudySpec_MetricSpec_GoalType = 1 + // Minimize the goal metric. + StudySpec_MetricSpec_MINIMIZE StudySpec_MetricSpec_GoalType = 2 +) + +// Enum value maps for StudySpec_MetricSpec_GoalType. +var ( + StudySpec_MetricSpec_GoalType_name = map[int32]string{ + 0: "GOAL_TYPE_UNSPECIFIED", + 1: "MAXIMIZE", + 2: "MINIMIZE", + } + StudySpec_MetricSpec_GoalType_value = map[string]int32{ + "GOAL_TYPE_UNSPECIFIED": 0, + "MAXIMIZE": 1, + "MINIMIZE": 2, + } +) + +func (x StudySpec_MetricSpec_GoalType) Enum() *StudySpec_MetricSpec_GoalType { + p := new(StudySpec_MetricSpec_GoalType) + *p = x + return p +} + +func (x StudySpec_MetricSpec_GoalType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StudySpec_MetricSpec_GoalType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[5].Descriptor() +} + +func (StudySpec_MetricSpec_GoalType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[5] +} + +func (x StudySpec_MetricSpec_GoalType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StudySpec_MetricSpec_GoalType.Descriptor instead. +func (StudySpec_MetricSpec_GoalType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 0, 0} +} + +// The type of scaling that should be applied to this parameter. +type StudySpec_ParameterSpec_ScaleType int32 + +const ( + // By default, no scaling is applied. + StudySpec_ParameterSpec_SCALE_TYPE_UNSPECIFIED StudySpec_ParameterSpec_ScaleType = 0 + // Scales the feasible space to (0, 1) linearly. + StudySpec_ParameterSpec_UNIT_LINEAR_SCALE StudySpec_ParameterSpec_ScaleType = 1 + // Scales the feasible space logarithmically to (0, 1). The entire + // feasible space must be strictly positive. + StudySpec_ParameterSpec_UNIT_LOG_SCALE StudySpec_ParameterSpec_ScaleType = 2 + // Scales the feasible space "reverse" logarithmically to (0, 1). The + // result is that values close to the top of the feasible space are spread + // out more than points near the bottom. The entire feasible space must be + // strictly positive. + StudySpec_ParameterSpec_UNIT_REVERSE_LOG_SCALE StudySpec_ParameterSpec_ScaleType = 3 +) + +// Enum value maps for StudySpec_ParameterSpec_ScaleType. +var ( + StudySpec_ParameterSpec_ScaleType_name = map[int32]string{ + 0: "SCALE_TYPE_UNSPECIFIED", + 1: "UNIT_LINEAR_SCALE", + 2: "UNIT_LOG_SCALE", + 3: "UNIT_REVERSE_LOG_SCALE", + } + StudySpec_ParameterSpec_ScaleType_value = map[string]int32{ + "SCALE_TYPE_UNSPECIFIED": 0, + "UNIT_LINEAR_SCALE": 1, + "UNIT_LOG_SCALE": 2, + "UNIT_REVERSE_LOG_SCALE": 3, + } +) + +func (x StudySpec_ParameterSpec_ScaleType) Enum() *StudySpec_ParameterSpec_ScaleType { + p := new(StudySpec_ParameterSpec_ScaleType) + *p = x + return p +} + +func (x StudySpec_ParameterSpec_ScaleType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StudySpec_ParameterSpec_ScaleType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[6].Descriptor() +} + +func (StudySpec_ParameterSpec_ScaleType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes[6] +} + +func (x StudySpec_ParameterSpec_ScaleType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StudySpec_ParameterSpec_ScaleType.Descriptor instead. +func (StudySpec_ParameterSpec_ScaleType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 0} +} + +// A message representing a Study. +type Study struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of a study. The study's globally unique identifier. + // Format: `projects/{project}/locations/{location}/studies/{study}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Describes the Study, default value is empty string. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Configuration of the Study. + StudySpec *StudySpec `protobuf:"bytes,3,opt,name=study_spec,json=studySpec,proto3" json:"study_spec,omitempty"` + // Output only. The detailed state of a Study. + State Study_State `protobuf:"varint,4,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Study_State" json:"state,omitempty"` + // Output only. Time at which the study was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. A human readable reason why the Study is inactive. + // This should be empty if a study is ACTIVE or COMPLETED. + InactiveReason string `protobuf:"bytes,6,opt,name=inactive_reason,json=inactiveReason,proto3" json:"inactive_reason,omitempty"` +} + +func (x *Study) Reset() { + *x = Study{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Study) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Study) ProtoMessage() {} + +func (x *Study) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[0] + 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 Study.ProtoReflect.Descriptor instead. +func (*Study) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{0} +} + +func (x *Study) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Study) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Study) GetStudySpec() *StudySpec { + if x != nil { + return x.StudySpec + } + return nil +} + +func (x *Study) GetState() Study_State { + if x != nil { + return x.State + } + return Study_STATE_UNSPECIFIED +} + +func (x *Study) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Study) GetInactiveReason() string { + if x != nil { + return x.InactiveReason + } + return "" +} + +// A message representing a Trial. A Trial contains a unique set of Parameters +// that has been or will be evaluated, along with the objective metrics got by +// running the Trial. +type Trial struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the Trial assigned by the service. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The identifier of the Trial assigned by the service. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Output only. The detailed state of the Trial. + State Trial_State `protobuf:"varint,3,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.Trial_State" json:"state,omitempty"` + // Output only. The parameters of the Trial. + Parameters []*Trial_Parameter `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` + // Output only. The final measurement containing the objective value. + FinalMeasurement *Measurement `protobuf:"bytes,5,opt,name=final_measurement,json=finalMeasurement,proto3" json:"final_measurement,omitempty"` + // Output only. A list of measurements that are strictly lexicographically + // ordered by their induced tuples (steps, elapsed_duration). + // These are used for early stopping computations. + Measurements []*Measurement `protobuf:"bytes,6,rep,name=measurements,proto3" json:"measurements,omitempty"` + // Output only. Time when the Trial was started. + StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the Trial's status changed to `SUCCEEDED` or + // `INFEASIBLE`. + EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The identifier of the client that originally requested this + // Trial. Each client is identified by a unique client_id. When a client asks + // for a suggestion, Vertex AI Vizier will assign it a Trial. The client + // should evaluate the Trial, complete it, and report back to Vertex AI + // Vizier. If suggestion is asked again by same client_id before the Trial is + // completed, the same Trial will be returned. Multiple clients with + // different client_ids can ask for suggestions simultaneously, each of them + // will get their own Trial. + ClientId string `protobuf:"bytes,9,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Output only. A human readable string describing why the Trial is + // infeasible. This is set only if Trial state is `INFEASIBLE`. + InfeasibleReason string `protobuf:"bytes,10,opt,name=infeasible_reason,json=infeasibleReason,proto3" json:"infeasible_reason,omitempty"` + // Output only. The CustomJob name linked to the Trial. + // It's set for a HyperparameterTuningJob's Trial. + CustomJob string `protobuf:"bytes,11,opt,name=custom_job,json=customJob,proto3" json:"custom_job,omitempty"` + // Output only. URIs for accessing [interactive + // shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) + // (one URI for each training node). Only available if this trial is part of + // a + // [HyperparameterTuningJob][mockgcp.cloud.aiplatform.v1beta1.HyperparameterTuningJob] + // and the job's + // [trial_job_spec.enable_web_access][mockgcp.cloud.aiplatform.v1beta1.CustomJobSpec.enable_web_access] + // field is `true`. + // + // The keys are names of each node used for the trial; for example, + // `workerpool0-0` for the primary node, `workerpool1-0` for the first node in + // the second worker pool, and `workerpool1-1` for the second node in the + // second worker pool. + // + // The values are the URIs for each node's interactive shell. + WebAccessUris map[string]string `protobuf:"bytes,12,rep,name=web_access_uris,json=webAccessUris,proto3" json:"web_access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Trial) Reset() { + *x = Trial{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Trial) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Trial) ProtoMessage() {} + +func (x *Trial) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[1] + 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 Trial.ProtoReflect.Descriptor instead. +func (*Trial) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1} +} + +func (x *Trial) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Trial) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Trial) GetState() Trial_State { + if x != nil { + return x.State + } + return Trial_STATE_UNSPECIFIED +} + +func (x *Trial) GetParameters() []*Trial_Parameter { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *Trial) GetFinalMeasurement() *Measurement { + if x != nil { + return x.FinalMeasurement + } + return nil +} + +func (x *Trial) GetMeasurements() []*Measurement { + if x != nil { + return x.Measurements + } + return nil +} + +func (x *Trial) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *Trial) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *Trial) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *Trial) GetInfeasibleReason() string { + if x != nil { + return x.InfeasibleReason + } + return "" +} + +func (x *Trial) GetCustomJob() string { + if x != nil { + return x.CustomJob + } + return "" +} + +func (x *Trial) GetWebAccessUris() map[string]string { + if x != nil { + return x.WebAccessUris + } + return nil +} + +// Next ID: 3 +type TrialContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A human-readable field which can store a description of this context. + // This will become part of the resulting Trial's description field. + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + // If/when a Trial is generated or selected from this Context, + // its Parameters will match any parameters specified here. + // (I.e. if this context specifies parameter name:'a' int_value:3, + // then a resulting Trial will have int_value:3 for its parameter named + // 'a'.) Note that we first attempt to match existing REQUESTED Trials with + // contexts, and if there are no matches, we generate suggestions in the + // subspace defined by the parameters specified here. + // NOTE: a Context without any Parameters matches the entire feasible search + // + // space. + Parameters []*Trial_Parameter `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *TrialContext) Reset() { + *x = TrialContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrialContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrialContext) ProtoMessage() {} + +func (x *TrialContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_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 TrialContext.ProtoReflect.Descriptor instead. +func (*TrialContext) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{2} +} + +func (x *TrialContext) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *TrialContext) GetParameters() []*Trial_Parameter { + if x != nil { + return x.Parameters + } + return nil +} + +// Time-based Constraint for Study +type StudyTimeConstraint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Constraint: + // + // *StudyTimeConstraint_MaxDuration + // *StudyTimeConstraint_EndTime + Constraint isStudyTimeConstraint_Constraint `protobuf_oneof:"constraint"` +} + +func (x *StudyTimeConstraint) Reset() { + *x = StudyTimeConstraint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudyTimeConstraint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudyTimeConstraint) ProtoMessage() {} + +func (x *StudyTimeConstraint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[3] + 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 StudyTimeConstraint.ProtoReflect.Descriptor instead. +func (*StudyTimeConstraint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{3} +} + +func (m *StudyTimeConstraint) GetConstraint() isStudyTimeConstraint_Constraint { + if m != nil { + return m.Constraint + } + return nil +} + +func (x *StudyTimeConstraint) GetMaxDuration() *duration.Duration { + if x, ok := x.GetConstraint().(*StudyTimeConstraint_MaxDuration); ok { + return x.MaxDuration + } + return nil +} + +func (x *StudyTimeConstraint) GetEndTime() *timestamp.Timestamp { + if x, ok := x.GetConstraint().(*StudyTimeConstraint_EndTime); ok { + return x.EndTime + } + return nil +} + +type isStudyTimeConstraint_Constraint interface { + isStudyTimeConstraint_Constraint() +} + +type StudyTimeConstraint_MaxDuration struct { + // Counts the wallclock time passed since the creation of this Study. + MaxDuration *duration.Duration `protobuf:"bytes,1,opt,name=max_duration,json=maxDuration,proto3,oneof"` +} + +type StudyTimeConstraint_EndTime struct { + // Compares the wallclock time to this time. Must use UTC timezone. + EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3,oneof"` +} + +func (*StudyTimeConstraint_MaxDuration) isStudyTimeConstraint_Constraint() {} + +func (*StudyTimeConstraint_EndTime) isStudyTimeConstraint_Constraint() {} + +// Represents specification of a Study. +type StudySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to AutomatedStoppingSpec: + // + // *StudySpec_DecayCurveStoppingSpec + // *StudySpec_MedianAutomatedStoppingSpec_ + // *StudySpec_ConvexStopConfig_ + // *StudySpec_ConvexAutomatedStoppingSpec_ + AutomatedStoppingSpec isStudySpec_AutomatedStoppingSpec `protobuf_oneof:"automated_stopping_spec"` + // Required. Metric specs for the Study. + Metrics []*StudySpec_MetricSpec `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` + // Required. The set of parameters to tune. + Parameters []*StudySpec_ParameterSpec `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"` + // The search algorithm specified for the Study. + Algorithm StudySpec_Algorithm `protobuf:"varint,3,opt,name=algorithm,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.StudySpec_Algorithm" json:"algorithm,omitempty"` + // The observation noise level of the study. + // Currently only supported by the Vertex AI Vizier service. Not supported by + // HyperparameterTuningJob or TrainingPipeline. + ObservationNoise StudySpec_ObservationNoise `protobuf:"varint,6,opt,name=observation_noise,json=observationNoise,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.StudySpec_ObservationNoise" json:"observation_noise,omitempty"` + // Describe which measurement selection type will be used + MeasurementSelectionType StudySpec_MeasurementSelectionType `protobuf:"varint,7,opt,name=measurement_selection_type,json=measurementSelectionType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.StudySpec_MeasurementSelectionType" json:"measurement_selection_type,omitempty"` + // The configuration info/options for transfer learning. Currently supported + // for Vertex AI Vizier service, not HyperParameterTuningJob + TransferLearningConfig *StudySpec_TransferLearningConfig `protobuf:"bytes,10,opt,name=transfer_learning_config,json=transferLearningConfig,proto3" json:"transfer_learning_config,omitempty"` + // Conditions for automated stopping of a Study. Enable automated stopping by + // configuring at least one condition. + StudyStoppingConfig *StudySpec_StudyStoppingConfig `protobuf:"bytes,11,opt,name=study_stopping_config,json=studyStoppingConfig,proto3,oneof" json:"study_stopping_config,omitempty"` +} + +func (x *StudySpec) Reset() { + *x = StudySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec) ProtoMessage() {} + +func (x *StudySpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[4] + 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 StudySpec.ProtoReflect.Descriptor instead. +func (*StudySpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4} +} + +func (m *StudySpec) GetAutomatedStoppingSpec() isStudySpec_AutomatedStoppingSpec { + if m != nil { + return m.AutomatedStoppingSpec + } + return nil +} + +func (x *StudySpec) GetDecayCurveStoppingSpec() *StudySpec_DecayCurveAutomatedStoppingSpec { + if x, ok := x.GetAutomatedStoppingSpec().(*StudySpec_DecayCurveStoppingSpec); ok { + return x.DecayCurveStoppingSpec + } + return nil +} + +func (x *StudySpec) GetMedianAutomatedStoppingSpec() *StudySpec_MedianAutomatedStoppingSpec { + if x, ok := x.GetAutomatedStoppingSpec().(*StudySpec_MedianAutomatedStoppingSpec_); ok { + return x.MedianAutomatedStoppingSpec + } + return nil +} + +// Deprecated: Do not use. +func (x *StudySpec) GetConvexStopConfig() *StudySpec_ConvexStopConfig { + if x, ok := x.GetAutomatedStoppingSpec().(*StudySpec_ConvexStopConfig_); ok { + return x.ConvexStopConfig + } + return nil +} + +func (x *StudySpec) GetConvexAutomatedStoppingSpec() *StudySpec_ConvexAutomatedStoppingSpec { + if x, ok := x.GetAutomatedStoppingSpec().(*StudySpec_ConvexAutomatedStoppingSpec_); ok { + return x.ConvexAutomatedStoppingSpec + } + return nil +} + +func (x *StudySpec) GetMetrics() []*StudySpec_MetricSpec { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *StudySpec) GetParameters() []*StudySpec_ParameterSpec { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *StudySpec) GetAlgorithm() StudySpec_Algorithm { + if x != nil { + return x.Algorithm + } + return StudySpec_ALGORITHM_UNSPECIFIED +} + +func (x *StudySpec) GetObservationNoise() StudySpec_ObservationNoise { + if x != nil { + return x.ObservationNoise + } + return StudySpec_OBSERVATION_NOISE_UNSPECIFIED +} + +func (x *StudySpec) GetMeasurementSelectionType() StudySpec_MeasurementSelectionType { + if x != nil { + return x.MeasurementSelectionType + } + return StudySpec_MEASUREMENT_SELECTION_TYPE_UNSPECIFIED +} + +func (x *StudySpec) GetTransferLearningConfig() *StudySpec_TransferLearningConfig { + if x != nil { + return x.TransferLearningConfig + } + return nil +} + +func (x *StudySpec) GetStudyStoppingConfig() *StudySpec_StudyStoppingConfig { + if x != nil { + return x.StudyStoppingConfig + } + return nil +} + +type isStudySpec_AutomatedStoppingSpec interface { + isStudySpec_AutomatedStoppingSpec() +} + +type StudySpec_DecayCurveStoppingSpec struct { + // The automated early stopping spec using decay curve rule. + DecayCurveStoppingSpec *StudySpec_DecayCurveAutomatedStoppingSpec `protobuf:"bytes,4,opt,name=decay_curve_stopping_spec,json=decayCurveStoppingSpec,proto3,oneof"` +} + +type StudySpec_MedianAutomatedStoppingSpec_ struct { + // The automated early stopping spec using median rule. + MedianAutomatedStoppingSpec *StudySpec_MedianAutomatedStoppingSpec `protobuf:"bytes,5,opt,name=median_automated_stopping_spec,json=medianAutomatedStoppingSpec,proto3,oneof"` +} + +type StudySpec_ConvexStopConfig_ struct { + // Deprecated. + // The automated early stopping using convex stopping rule. + // + // Deprecated: Do not use. + ConvexStopConfig *StudySpec_ConvexStopConfig `protobuf:"bytes,8,opt,name=convex_stop_config,json=convexStopConfig,proto3,oneof"` +} + +type StudySpec_ConvexAutomatedStoppingSpec_ struct { + // The automated early stopping spec using convex stopping rule. + ConvexAutomatedStoppingSpec *StudySpec_ConvexAutomatedStoppingSpec `protobuf:"bytes,9,opt,name=convex_automated_stopping_spec,json=convexAutomatedStoppingSpec,proto3,oneof"` +} + +func (*StudySpec_DecayCurveStoppingSpec) isStudySpec_AutomatedStoppingSpec() {} + +func (*StudySpec_MedianAutomatedStoppingSpec_) isStudySpec_AutomatedStoppingSpec() {} + +func (*StudySpec_ConvexStopConfig_) isStudySpec_AutomatedStoppingSpec() {} + +func (*StudySpec_ConvexAutomatedStoppingSpec_) isStudySpec_AutomatedStoppingSpec() {} + +// A message representing a Measurement of a Trial. A Measurement contains +// the Metrics got by executing a Trial using suggested hyperparameter +// values. +type Measurement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Time that the Trial has been running at the point of this + // Measurement. + ElapsedDuration *duration.Duration `protobuf:"bytes,1,opt,name=elapsed_duration,json=elapsedDuration,proto3" json:"elapsed_duration,omitempty"` + // Output only. The number of steps the machine learning model has been + // trained for. Must be non-negative. + StepCount int64 `protobuf:"varint,2,opt,name=step_count,json=stepCount,proto3" json:"step_count,omitempty"` + // Output only. A list of metrics got by evaluating the objective functions + // using suggested Parameter values. + Metrics []*Measurement_Metric `protobuf:"bytes,3,rep,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *Measurement) Reset() { + *x = Measurement{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Measurement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Measurement) ProtoMessage() {} + +func (x *Measurement) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[5] + 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 Measurement.ProtoReflect.Descriptor instead. +func (*Measurement) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{5} +} + +func (x *Measurement) GetElapsedDuration() *duration.Duration { + if x != nil { + return x.ElapsedDuration + } + return nil +} + +func (x *Measurement) GetStepCount() int64 { + if x != nil { + return x.StepCount + } + return 0 +} + +func (x *Measurement) GetMetrics() []*Measurement_Metric { + if x != nil { + return x.Metrics + } + return nil +} + +// A message representing a parameter to be tuned. +type Trial_Parameter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The ID of the parameter. The parameter should be defined in + // [StudySpec's + // Parameters][mockgcp.cloud.aiplatform.v1beta1.StudySpec.parameters]. + ParameterId string `protobuf:"bytes,1,opt,name=parameter_id,json=parameterId,proto3" json:"parameter_id,omitempty"` + // Output only. The value of the parameter. + // `number_value` will be set if a parameter defined in StudySpec is + // in type 'INTEGER', 'DOUBLE' or 'DISCRETE'. + // `string_value` will be set if a parameter defined in StudySpec is + // in type 'CATEGORICAL'. + Value *_struct.Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Trial_Parameter) Reset() { + *x = Trial_Parameter{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Trial_Parameter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Trial_Parameter) ProtoMessage() {} + +func (x *Trial_Parameter) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_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 Trial_Parameter.ProtoReflect.Descriptor instead. +func (*Trial_Parameter) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *Trial_Parameter) GetParameterId() string { + if x != nil { + return x.ParameterId + } + return "" +} + +func (x *Trial_Parameter) GetValue() *_struct.Value { + if x != nil { + return x.Value + } + return nil +} + +// Represents a metric to optimize. +type StudySpec_MetricSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of the metric. Must not contain whitespaces and must be + // unique amongst all MetricSpecs. + MetricId string `protobuf:"bytes,1,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"` + // Required. The optimization goal of the metric. + Goal StudySpec_MetricSpec_GoalType `protobuf:"varint,2,opt,name=goal,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.StudySpec_MetricSpec_GoalType" json:"goal,omitempty"` + // Used for safe search. In the case, the metric will be a safety + // metric. You must provide a separate metric for objective metric. + SafetyConfig *StudySpec_MetricSpec_SafetyMetricConfig `protobuf:"bytes,3,opt,name=safety_config,json=safetyConfig,proto3,oneof" json:"safety_config,omitempty"` +} + +func (x *StudySpec_MetricSpec) Reset() { + *x = StudySpec_MetricSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_MetricSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_MetricSpec) ProtoMessage() {} + +func (x *StudySpec_MetricSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_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 StudySpec_MetricSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_MetricSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *StudySpec_MetricSpec) GetMetricId() string { + if x != nil { + return x.MetricId + } + return "" +} + +func (x *StudySpec_MetricSpec) GetGoal() StudySpec_MetricSpec_GoalType { + if x != nil { + return x.Goal + } + return StudySpec_MetricSpec_GOAL_TYPE_UNSPECIFIED +} + +func (x *StudySpec_MetricSpec) GetSafetyConfig() *StudySpec_MetricSpec_SafetyMetricConfig { + if x != nil { + return x.SafetyConfig + } + return nil +} + +// Represents a single parameter to optimize. +type StudySpec_ParameterSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ParameterValueSpec: + // + // *StudySpec_ParameterSpec_DoubleValueSpec_ + // *StudySpec_ParameterSpec_IntegerValueSpec_ + // *StudySpec_ParameterSpec_CategoricalValueSpec_ + // *StudySpec_ParameterSpec_DiscreteValueSpec_ + ParameterValueSpec isStudySpec_ParameterSpec_ParameterValueSpec `protobuf_oneof:"parameter_value_spec"` + // Required. The ID of the parameter. Must not contain whitespaces and must + // be unique amongst all ParameterSpecs. + ParameterId string `protobuf:"bytes,1,opt,name=parameter_id,json=parameterId,proto3" json:"parameter_id,omitempty"` + // How the parameter should be scaled. + // Leave unset for `CATEGORICAL` parameters. + ScaleType StudySpec_ParameterSpec_ScaleType `protobuf:"varint,6,opt,name=scale_type,json=scaleType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.StudySpec_ParameterSpec_ScaleType" json:"scale_type,omitempty"` + // A conditional parameter node is active if the parameter's value matches + // the conditional node's parent_value_condition. + // + // If two items in conditional_parameter_specs have the same name, they + // must have disjoint parent_value_condition. + ConditionalParameterSpecs []*StudySpec_ParameterSpec_ConditionalParameterSpec `protobuf:"bytes,10,rep,name=conditional_parameter_specs,json=conditionalParameterSpecs,proto3" json:"conditional_parameter_specs,omitempty"` +} + +func (x *StudySpec_ParameterSpec) Reset() { + *x = StudySpec_ParameterSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[9] + 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 StudySpec_ParameterSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1} +} + +func (m *StudySpec_ParameterSpec) GetParameterValueSpec() isStudySpec_ParameterSpec_ParameterValueSpec { + if m != nil { + return m.ParameterValueSpec + } + return nil +} + +func (x *StudySpec_ParameterSpec) GetDoubleValueSpec() *StudySpec_ParameterSpec_DoubleValueSpec { + if x, ok := x.GetParameterValueSpec().(*StudySpec_ParameterSpec_DoubleValueSpec_); ok { + return x.DoubleValueSpec + } + return nil +} + +func (x *StudySpec_ParameterSpec) GetIntegerValueSpec() *StudySpec_ParameterSpec_IntegerValueSpec { + if x, ok := x.GetParameterValueSpec().(*StudySpec_ParameterSpec_IntegerValueSpec_); ok { + return x.IntegerValueSpec + } + return nil +} + +func (x *StudySpec_ParameterSpec) GetCategoricalValueSpec() *StudySpec_ParameterSpec_CategoricalValueSpec { + if x, ok := x.GetParameterValueSpec().(*StudySpec_ParameterSpec_CategoricalValueSpec_); ok { + return x.CategoricalValueSpec + } + return nil +} + +func (x *StudySpec_ParameterSpec) GetDiscreteValueSpec() *StudySpec_ParameterSpec_DiscreteValueSpec { + if x, ok := x.GetParameterValueSpec().(*StudySpec_ParameterSpec_DiscreteValueSpec_); ok { + return x.DiscreteValueSpec + } + return nil +} + +func (x *StudySpec_ParameterSpec) GetParameterId() string { + if x != nil { + return x.ParameterId + } + return "" +} + +func (x *StudySpec_ParameterSpec) GetScaleType() StudySpec_ParameterSpec_ScaleType { + if x != nil { + return x.ScaleType + } + return StudySpec_ParameterSpec_SCALE_TYPE_UNSPECIFIED +} + +func (x *StudySpec_ParameterSpec) GetConditionalParameterSpecs() []*StudySpec_ParameterSpec_ConditionalParameterSpec { + if x != nil { + return x.ConditionalParameterSpecs + } + return nil +} + +type isStudySpec_ParameterSpec_ParameterValueSpec interface { + isStudySpec_ParameterSpec_ParameterValueSpec() +} + +type StudySpec_ParameterSpec_DoubleValueSpec_ struct { + // The value spec for a 'DOUBLE' parameter. + DoubleValueSpec *StudySpec_ParameterSpec_DoubleValueSpec `protobuf:"bytes,2,opt,name=double_value_spec,json=doubleValueSpec,proto3,oneof"` +} + +type StudySpec_ParameterSpec_IntegerValueSpec_ struct { + // The value spec for an 'INTEGER' parameter. + IntegerValueSpec *StudySpec_ParameterSpec_IntegerValueSpec `protobuf:"bytes,3,opt,name=integer_value_spec,json=integerValueSpec,proto3,oneof"` +} + +type StudySpec_ParameterSpec_CategoricalValueSpec_ struct { + // The value spec for a 'CATEGORICAL' parameter. + CategoricalValueSpec *StudySpec_ParameterSpec_CategoricalValueSpec `protobuf:"bytes,4,opt,name=categorical_value_spec,json=categoricalValueSpec,proto3,oneof"` +} + +type StudySpec_ParameterSpec_DiscreteValueSpec_ struct { + // The value spec for a 'DISCRETE' parameter. + DiscreteValueSpec *StudySpec_ParameterSpec_DiscreteValueSpec `protobuf:"bytes,5,opt,name=discrete_value_spec,json=discreteValueSpec,proto3,oneof"` +} + +func (*StudySpec_ParameterSpec_DoubleValueSpec_) isStudySpec_ParameterSpec_ParameterValueSpec() {} + +func (*StudySpec_ParameterSpec_IntegerValueSpec_) isStudySpec_ParameterSpec_ParameterValueSpec() {} + +func (*StudySpec_ParameterSpec_CategoricalValueSpec_) isStudySpec_ParameterSpec_ParameterValueSpec() { +} + +func (*StudySpec_ParameterSpec_DiscreteValueSpec_) isStudySpec_ParameterSpec_ParameterValueSpec() {} + +// The decay curve automated stopping rule builds a Gaussian Process +// Regressor to predict the final objective value of a Trial based on the +// already completed Trials and the intermediate measurements of the current +// Trial. Early stopping is requested for the current Trial if there is very +// low probability to exceed the optimal value found so far. +type StudySpec_DecayCurveAutomatedStoppingSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if + // [Measurement.elapsed_duration][mockgcp.cloud.aiplatform.v1beta1.Measurement.elapsed_duration] + // is used as the x-axis of each Trials Decay Curve. Otherwise, + // [Measurement.step_count][mockgcp.cloud.aiplatform.v1beta1.Measurement.step_count] + // will be used as the x-axis. + UseElapsedDuration bool `protobuf:"varint,1,opt,name=use_elapsed_duration,json=useElapsedDuration,proto3" json:"use_elapsed_duration,omitempty"` +} + +func (x *StudySpec_DecayCurveAutomatedStoppingSpec) Reset() { + *x = StudySpec_DecayCurveAutomatedStoppingSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_DecayCurveAutomatedStoppingSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_DecayCurveAutomatedStoppingSpec) ProtoMessage() {} + +func (x *StudySpec_DecayCurveAutomatedStoppingSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[10] + 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 StudySpec_DecayCurveAutomatedStoppingSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_DecayCurveAutomatedStoppingSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 2} +} + +func (x *StudySpec_DecayCurveAutomatedStoppingSpec) GetUseElapsedDuration() bool { + if x != nil { + return x.UseElapsedDuration + } + return false +} + +// The median automated stopping rule stops a pending Trial if the Trial's +// best objective_value is strictly below the median 'performance' of all +// completed Trials reported up to the Trial's last measurement. +// Currently, 'performance' refers to the running average of the objective +// values reported by the Trial in each measurement. +type StudySpec_MedianAutomatedStoppingSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if median automated stopping rule applies on + // [Measurement.elapsed_duration][mockgcp.cloud.aiplatform.v1beta1.Measurement.elapsed_duration]. + // It means that elapsed_duration field of latest measurement of current + // Trial is used to compute median objective value for each completed + // Trials. + UseElapsedDuration bool `protobuf:"varint,1,opt,name=use_elapsed_duration,json=useElapsedDuration,proto3" json:"use_elapsed_duration,omitempty"` +} + +func (x *StudySpec_MedianAutomatedStoppingSpec) Reset() { + *x = StudySpec_MedianAutomatedStoppingSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_MedianAutomatedStoppingSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_MedianAutomatedStoppingSpec) ProtoMessage() {} + +func (x *StudySpec_MedianAutomatedStoppingSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[11] + 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 StudySpec_MedianAutomatedStoppingSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_MedianAutomatedStoppingSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 3} +} + +func (x *StudySpec_MedianAutomatedStoppingSpec) GetUseElapsedDuration() bool { + if x != nil { + return x.UseElapsedDuration + } + return false +} + +// Configuration for ConvexAutomatedStoppingSpec. +// When there are enough completed trials (configured by +// min_measurement_count), for pending trials with enough measurements and +// steps, the policy first computes an overestimate of the objective value at +// max_num_steps according to the slope of the incomplete objective value +// curve. No prediction can be made if the curve is completely flat. If the +// overestimation is worse than the best objective value of the completed +// trials, this pending trial will be early-stopped, but a last measurement +// will be added to the pending trial with max_num_steps and predicted +// objective value from the autoregression model. +type StudySpec_ConvexAutomatedStoppingSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Steps used in predicting the final objective for early stopped trials. In + // general, it's set to be the same as the defined steps in training / + // tuning. If not defined, it will learn it from the completed trials. When + // use_steps is false, this field is set to the maximum elapsed seconds. + MaxStepCount int64 `protobuf:"varint,1,opt,name=max_step_count,json=maxStepCount,proto3" json:"max_step_count,omitempty"` + // Minimum number of steps for a trial to complete. Trials which do not have + // a measurement with step_count > min_step_count won't be considered for + // early stopping. It's ok to set it to 0, and a trial can be early stopped + // at any stage. By default, min_step_count is set to be one-tenth of the + // max_step_count. + // When use_elapsed_duration is true, this field is set to the minimum + // elapsed seconds. + MinStepCount int64 `protobuf:"varint,2,opt,name=min_step_count,json=minStepCount,proto3" json:"min_step_count,omitempty"` + // The minimal number of measurements in a Trial. Early-stopping checks + // will not trigger if less than min_measurement_count+1 completed trials or + // pending trials with less than min_measurement_count measurements. If not + // defined, the default value is 5. + MinMeasurementCount int64 `protobuf:"varint,3,opt,name=min_measurement_count,json=minMeasurementCount,proto3" json:"min_measurement_count,omitempty"` + // The hyper-parameter name used in the tuning job that stands for learning + // rate. Leave it blank if learning rate is not in a parameter in tuning. + // The learning_rate is used to estimate the objective value of the ongoing + // trial. + LearningRateParameterName string `protobuf:"bytes,4,opt,name=learning_rate_parameter_name,json=learningRateParameterName,proto3" json:"learning_rate_parameter_name,omitempty"` + // This bool determines whether or not the rule is applied based on + // elapsed_secs or steps. If use_elapsed_duration==false, the early stopping + // decision is made according to the predicted objective values according to + // the target steps. If use_elapsed_duration==true, elapsed_secs is used + // instead of steps. Also, in this case, the parameters max_num_steps and + // min_num_steps are overloaded to contain max_elapsed_seconds and + // min_elapsed_seconds. + UseElapsedDuration bool `protobuf:"varint,5,opt,name=use_elapsed_duration,json=useElapsedDuration,proto3" json:"use_elapsed_duration,omitempty"` + // ConvexAutomatedStoppingSpec by default only updates the trials that needs + // to be early stopped using a newly trained auto-regressive model. When + // this flag is set to True, all stopped trials from the beginning are + // potentially updated in terms of their `final_measurement`. Also, note + // that the training logic of autoregressive models is different in this + // case. Enabling this option has shown better results and this may be the + // default option in the future. + UpdateAllStoppedTrials *bool `protobuf:"varint,6,opt,name=update_all_stopped_trials,json=updateAllStoppedTrials,proto3,oneof" json:"update_all_stopped_trials,omitempty"` +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) Reset() { + *x = StudySpec_ConvexAutomatedStoppingSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ConvexAutomatedStoppingSpec) ProtoMessage() {} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[12] + 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 StudySpec_ConvexAutomatedStoppingSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ConvexAutomatedStoppingSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 4} +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetMaxStepCount() int64 { + if x != nil { + return x.MaxStepCount + } + return 0 +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetMinStepCount() int64 { + if x != nil { + return x.MinStepCount + } + return 0 +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetMinMeasurementCount() int64 { + if x != nil { + return x.MinMeasurementCount + } + return 0 +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetLearningRateParameterName() string { + if x != nil { + return x.LearningRateParameterName + } + return "" +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetUseElapsedDuration() bool { + if x != nil { + return x.UseElapsedDuration + } + return false +} + +func (x *StudySpec_ConvexAutomatedStoppingSpec) GetUpdateAllStoppedTrials() bool { + if x != nil && x.UpdateAllStoppedTrials != nil { + return *x.UpdateAllStoppedTrials + } + return false +} + +// Configuration for ConvexStopPolicy. +// +// Deprecated: Do not use. +type StudySpec_ConvexStopConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Steps used in predicting the final objective for early stopped trials. In + // general, it's set to be the same as the defined steps in training / + // tuning. When use_steps is false, this field is set to the maximum elapsed + // seconds. + MaxNumSteps int64 `protobuf:"varint,1,opt,name=max_num_steps,json=maxNumSteps,proto3" json:"max_num_steps,omitempty"` + // Minimum number of steps for a trial to complete. Trials which do not have + // a measurement with num_steps > min_num_steps won't be considered for + // early stopping. It's ok to set it to 0, and a trial can be early stopped + // at any stage. By default, min_num_steps is set to be one-tenth of the + // max_num_steps. + // When use_steps is false, this field is set to the minimum elapsed + // seconds. + MinNumSteps int64 `protobuf:"varint,2,opt,name=min_num_steps,json=minNumSteps,proto3" json:"min_num_steps,omitempty"` + // The number of Trial measurements used in autoregressive model for + // value prediction. A trial won't be considered early stopping if has fewer + // measurement points. + AutoregressiveOrder int64 `protobuf:"varint,3,opt,name=autoregressive_order,json=autoregressiveOrder,proto3" json:"autoregressive_order,omitempty"` + // The hyper-parameter name used in the tuning job that stands for learning + // rate. Leave it blank if learning rate is not in a parameter in tuning. + // The learning_rate is used to estimate the objective value of the ongoing + // trial. + LearningRateParameterName string `protobuf:"bytes,4,opt,name=learning_rate_parameter_name,json=learningRateParameterName,proto3" json:"learning_rate_parameter_name,omitempty"` + // This bool determines whether or not the rule is applied based on + // elapsed_secs or steps. If use_seconds==false, the early stopping decision + // is made according to the predicted objective values according to the + // target steps. If use_seconds==true, elapsed_secs is used instead of + // steps. Also, in this case, the parameters max_num_steps and min_num_steps + // are overloaded to contain max_elapsed_seconds and min_elapsed_seconds. + UseSeconds bool `protobuf:"varint,5,opt,name=use_seconds,json=useSeconds,proto3" json:"use_seconds,omitempty"` +} + +func (x *StudySpec_ConvexStopConfig) Reset() { + *x = StudySpec_ConvexStopConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ConvexStopConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ConvexStopConfig) ProtoMessage() {} + +func (x *StudySpec_ConvexStopConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[13] + 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 StudySpec_ConvexStopConfig.ProtoReflect.Descriptor instead. +func (*StudySpec_ConvexStopConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 5} +} + +func (x *StudySpec_ConvexStopConfig) GetMaxNumSteps() int64 { + if x != nil { + return x.MaxNumSteps + } + return 0 +} + +func (x *StudySpec_ConvexStopConfig) GetMinNumSteps() int64 { + if x != nil { + return x.MinNumSteps + } + return 0 +} + +func (x *StudySpec_ConvexStopConfig) GetAutoregressiveOrder() int64 { + if x != nil { + return x.AutoregressiveOrder + } + return 0 +} + +func (x *StudySpec_ConvexStopConfig) GetLearningRateParameterName() string { + if x != nil { + return x.LearningRateParameterName + } + return "" +} + +func (x *StudySpec_ConvexStopConfig) GetUseSeconds() bool { + if x != nil { + return x.UseSeconds + } + return false +} + +// This contains flag for manually disabling transfer learning for a study. +// The names of prior studies being used for transfer learning (if any) +// are also listed here. +type StudySpec_TransferLearningConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Flag to to manually prevent vizier from using transfer learning on a + // new study. Otherwise, vizier will automatically determine whether or not + // to use transfer learning. + DisableTransferLearning bool `protobuf:"varint,1,opt,name=disable_transfer_learning,json=disableTransferLearning,proto3" json:"disable_transfer_learning,omitempty"` + // Output only. Names of previously completed studies + PriorStudyNames []string `protobuf:"bytes,2,rep,name=prior_study_names,json=priorStudyNames,proto3" json:"prior_study_names,omitempty"` +} + +func (x *StudySpec_TransferLearningConfig) Reset() { + *x = StudySpec_TransferLearningConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_TransferLearningConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_TransferLearningConfig) ProtoMessage() {} + +func (x *StudySpec_TransferLearningConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[14] + 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 StudySpec_TransferLearningConfig.ProtoReflect.Descriptor instead. +func (*StudySpec_TransferLearningConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 6} +} + +func (x *StudySpec_TransferLearningConfig) GetDisableTransferLearning() bool { + if x != nil { + return x.DisableTransferLearning + } + return false +} + +func (x *StudySpec_TransferLearningConfig) GetPriorStudyNames() []string { + if x != nil { + return x.PriorStudyNames + } + return nil +} + +// The configuration (stopping conditions) for automated stopping of a Study. +// Conditions include trial budgets, time budgets, and convergence detection. +type StudySpec_StudyStoppingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If true, a Study enters STOPPING_ASAP whenever it would normally enters + // STOPPING state. + // + // The bottom line is: set to true if you want to interrupt on-going + // evaluations of Trials as soon as the study stopping condition is met. + // (Please see Study.State documentation for the source of truth). + ShouldStopAsap *wrappers.BoolValue `protobuf:"bytes,1,opt,name=should_stop_asap,json=shouldStopAsap,proto3" json:"should_stop_asap,omitempty"` + // Each "stopping rule" in this proto specifies an "if" condition. Before + // Vizier would generate a new suggestion, it first checks each specified + // stopping rule, from top to bottom in this list. + // Note that the first few rules (e.g. minimum_runtime_constraint, + // min_num_trials) will prevent other stopping rules from being evaluated + // until they are met. For example, setting `min_num_trials=5` and + // `always_stop_after= 1 hour` means that the Study will ONLY stop after it + // has 5 COMPLETED trials, even if more than an hour has passed since its + // creation. It follows the first applicable rule (whose "if" condition is + // satisfied) to make a stopping decision. If none of the specified rules + // are applicable, then Vizier decides that the study should not stop. + // If Vizier decides that the study should stop, the study enters + // STOPPING state (or STOPPING_ASAP if should_stop_asap = true). + // IMPORTANT: The automatic study state transition happens precisely as + // described above; that is, deleting trials or updating StudyConfig NEVER + // automatically moves the study state back to ACTIVE. If you want to + // _resume_ a Study that was stopped, 1) change the stopping conditions if + // necessary, 2) activate the study, and then 3) ask for suggestions. + // If the specified time or duration has not passed, do not stop the + // study. + MinimumRuntimeConstraint *StudyTimeConstraint `protobuf:"bytes,2,opt,name=minimum_runtime_constraint,json=minimumRuntimeConstraint,proto3" json:"minimum_runtime_constraint,omitempty"` + // If the specified time or duration has passed, stop the study. + MaximumRuntimeConstraint *StudyTimeConstraint `protobuf:"bytes,3,opt,name=maximum_runtime_constraint,json=maximumRuntimeConstraint,proto3" json:"maximum_runtime_constraint,omitempty"` + // If there are fewer than this many COMPLETED trials, do not stop the + // study. + MinNumTrials *wrappers.Int32Value `protobuf:"bytes,4,opt,name=min_num_trials,json=minNumTrials,proto3" json:"min_num_trials,omitempty"` + // If there are more than this many trials, stop the study. + MaxNumTrials *wrappers.Int32Value `protobuf:"bytes,5,opt,name=max_num_trials,json=maxNumTrials,proto3" json:"max_num_trials,omitempty"` + // If the objective value has not improved for this many consecutive + // trials, stop the study. + // + // WARNING: Effective only for single-objective studies. + MaxNumTrialsNoProgress *wrappers.Int32Value `protobuf:"bytes,6,opt,name=max_num_trials_no_progress,json=maxNumTrialsNoProgress,proto3" json:"max_num_trials_no_progress,omitempty"` + // If the objective value has not improved for this much time, stop the + // study. + // + // WARNING: Effective only for single-objective studies. + MaxDurationNoProgress *duration.Duration `protobuf:"bytes,7,opt,name=max_duration_no_progress,json=maxDurationNoProgress,proto3" json:"max_duration_no_progress,omitempty"` +} + +func (x *StudySpec_StudyStoppingConfig) Reset() { + *x = StudySpec_StudyStoppingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_StudyStoppingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_StudyStoppingConfig) ProtoMessage() {} + +func (x *StudySpec_StudyStoppingConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_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 StudySpec_StudyStoppingConfig.ProtoReflect.Descriptor instead. +func (*StudySpec_StudyStoppingConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 7} +} + +func (x *StudySpec_StudyStoppingConfig) GetShouldStopAsap() *wrappers.BoolValue { + if x != nil { + return x.ShouldStopAsap + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMinimumRuntimeConstraint() *StudyTimeConstraint { + if x != nil { + return x.MinimumRuntimeConstraint + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMaximumRuntimeConstraint() *StudyTimeConstraint { + if x != nil { + return x.MaximumRuntimeConstraint + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMinNumTrials() *wrappers.Int32Value { + if x != nil { + return x.MinNumTrials + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMaxNumTrials() *wrappers.Int32Value { + if x != nil { + return x.MaxNumTrials + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMaxNumTrialsNoProgress() *wrappers.Int32Value { + if x != nil { + return x.MaxNumTrialsNoProgress + } + return nil +} + +func (x *StudySpec_StudyStoppingConfig) GetMaxDurationNoProgress() *duration.Duration { + if x != nil { + return x.MaxDurationNoProgress + } + return nil +} + +// Used in safe optimization to specify threshold levels and risk tolerance. +type StudySpec_MetricSpec_SafetyMetricConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Safety threshold (boundary value between safe and unsafe). NOTE that if + // you leave SafetyMetricConfig unset, a default value of 0 will be used. + SafetyThreshold float64 `protobuf:"fixed64,1,opt,name=safety_threshold,json=safetyThreshold,proto3" json:"safety_threshold,omitempty"` + // Desired minimum fraction of safe trials (over total number of trials) + // that should be targeted by the algorithm at any time during the + // study (best effort). This should be between 0.0 and 1.0 and a value of + // 0.0 means that there is no minimum and an algorithm proceeds without + // targeting any specific fraction. A value of 1.0 means that the + // algorithm attempts to only Suggest safe Trials. + DesiredMinSafeTrialsFraction *float64 `protobuf:"fixed64,2,opt,name=desired_min_safe_trials_fraction,json=desiredMinSafeTrialsFraction,proto3,oneof" json:"desired_min_safe_trials_fraction,omitempty"` +} + +func (x *StudySpec_MetricSpec_SafetyMetricConfig) Reset() { + *x = StudySpec_MetricSpec_SafetyMetricConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_MetricSpec_SafetyMetricConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_MetricSpec_SafetyMetricConfig) ProtoMessage() {} + +func (x *StudySpec_MetricSpec_SafetyMetricConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[16] + 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 StudySpec_MetricSpec_SafetyMetricConfig.ProtoReflect.Descriptor instead. +func (*StudySpec_MetricSpec_SafetyMetricConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 0, 0} +} + +func (x *StudySpec_MetricSpec_SafetyMetricConfig) GetSafetyThreshold() float64 { + if x != nil { + return x.SafetyThreshold + } + return 0 +} + +func (x *StudySpec_MetricSpec_SafetyMetricConfig) GetDesiredMinSafeTrialsFraction() float64 { + if x != nil && x.DesiredMinSafeTrialsFraction != nil { + return *x.DesiredMinSafeTrialsFraction + } + return 0 +} + +// Value specification for a parameter in `DOUBLE` type. +type StudySpec_ParameterSpec_DoubleValueSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Inclusive minimum value of the parameter. + MinValue float64 `protobuf:"fixed64,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` + // Required. Inclusive maximum value of the parameter. + MaxValue float64 `protobuf:"fixed64,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` + // A default value for a `DOUBLE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + DefaultValue *float64 `protobuf:"fixed64,4,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` +} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) Reset() { + *x = StudySpec_ParameterSpec_DoubleValueSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_DoubleValueSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[17] + 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 StudySpec_ParameterSpec_DoubleValueSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_DoubleValueSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 0} +} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) GetMinValue() float64 { + if x != nil { + return x.MinValue + } + return 0 +} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) GetMaxValue() float64 { + if x != nil { + return x.MaxValue + } + return 0 +} + +func (x *StudySpec_ParameterSpec_DoubleValueSpec) GetDefaultValue() float64 { + if x != nil && x.DefaultValue != nil { + return *x.DefaultValue + } + return 0 +} + +// Value specification for a parameter in `INTEGER` type. +type StudySpec_ParameterSpec_IntegerValueSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Inclusive minimum value of the parameter. + MinValue int64 `protobuf:"varint,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` + // Required. Inclusive maximum value of the parameter. + MaxValue int64 `protobuf:"varint,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` + // A default value for an `INTEGER` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + DefaultValue *int64 `protobuf:"varint,4,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` +} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) Reset() { + *x = StudySpec_ParameterSpec_IntegerValueSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_IntegerValueSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[18] + 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 StudySpec_ParameterSpec_IntegerValueSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_IntegerValueSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 1} +} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) GetMinValue() int64 { + if x != nil { + return x.MinValue + } + return 0 +} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) GetMaxValue() int64 { + if x != nil { + return x.MaxValue + } + return 0 +} + +func (x *StudySpec_ParameterSpec_IntegerValueSpec) GetDefaultValue() int64 { + if x != nil && x.DefaultValue != nil { + return *x.DefaultValue + } + return 0 +} + +// Value specification for a parameter in `CATEGORICAL` type. +type StudySpec_ParameterSpec_CategoricalValueSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The list of possible categories. + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + // A default value for a `CATEGORICAL` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + DefaultValue *string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` +} + +func (x *StudySpec_ParameterSpec_CategoricalValueSpec) Reset() { + *x = StudySpec_ParameterSpec_CategoricalValueSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_CategoricalValueSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_CategoricalValueSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_CategoricalValueSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[19] + 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 StudySpec_ParameterSpec_CategoricalValueSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_CategoricalValueSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 2} +} + +func (x *StudySpec_ParameterSpec_CategoricalValueSpec) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *StudySpec_ParameterSpec_CategoricalValueSpec) GetDefaultValue() string { + if x != nil && x.DefaultValue != nil { + return *x.DefaultValue + } + return "" +} + +// Value specification for a parameter in `DISCRETE` type. +type StudySpec_ParameterSpec_DiscreteValueSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A list of possible values. + // The list should be in increasing order and at least 1e-10 apart. + // For instance, this parameter might have possible settings of 1.5, 2.5, + // and 4.0. This list should not contain more than 1,000 values. + Values []float64 `protobuf:"fixed64,1,rep,packed,name=values,proto3" json:"values,omitempty"` + // A default value for a `DISCRETE` parameter that is assumed to be a + // relatively good starting point. Unset value signals that there is no + // offered starting point. It automatically rounds to the + // nearest feasible discrete point. + // + // Currently only supported by the Vertex AI Vizier service. Not supported + // by HyperparameterTuningJob or TrainingPipeline. + DefaultValue *float64 `protobuf:"fixed64,3,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` +} + +func (x *StudySpec_ParameterSpec_DiscreteValueSpec) Reset() { + *x = StudySpec_ParameterSpec_DiscreteValueSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_DiscreteValueSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_DiscreteValueSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_DiscreteValueSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[20] + 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 StudySpec_ParameterSpec_DiscreteValueSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_DiscreteValueSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 3} +} + +func (x *StudySpec_ParameterSpec_DiscreteValueSpec) GetValues() []float64 { + if x != nil { + return x.Values + } + return nil +} + +func (x *StudySpec_ParameterSpec_DiscreteValueSpec) GetDefaultValue() float64 { + if x != nil && x.DefaultValue != nil { + return *x.DefaultValue + } + return 0 +} + +// Represents a parameter spec with condition from its parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A set of parameter values from the parent ParameterSpec's feasible + // space. + // + // Types that are assignable to ParentValueCondition: + // + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues + // *StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues + ParentValueCondition isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition `protobuf_oneof:"parent_value_condition"` + // Required. The spec for a conditional parameter. + ParameterSpec *StudySpec_ParameterSpec `protobuf:"bytes,1,opt,name=parameter_spec,json=parameterSpec,proto3" json:"parameter_spec,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[21] + 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 StudySpec_ParameterSpec_ConditionalParameterSpec.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 4} +} + +func (m *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentValueCondition() isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition { + if m != nil { + return m.ParentValueCondition + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentDiscreteValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues); ok { + return x.ParentDiscreteValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentIntValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues); ok { + return x.ParentIntValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParentCategoricalValues() *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition { + if x, ok := x.GetParentValueCondition().(*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues); ok { + return x.ParentCategoricalValues + } + return nil +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec) GetParameterSpec() *StudySpec_ParameterSpec { + if x != nil { + return x.ParameterSpec + } + return nil +} + +type isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition interface { + isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues struct { + // The spec for matching values from a parent parameter of + // `DISCRETE` type. + ParentDiscreteValues *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition `protobuf:"bytes,2,opt,name=parent_discrete_values,json=parentDiscreteValues,proto3,oneof"` +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues struct { + // The spec for matching values from a parent parameter of `INTEGER` + // type. + ParentIntValues *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition `protobuf:"bytes,3,opt,name=parent_int_values,json=parentIntValues,proto3,oneof"` +} + +type StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues struct { + // The spec for matching values from a parent parameter of + // `CATEGORICAL` type. + ParentCategoricalValues *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition `protobuf:"bytes,4,opt,name=parent_categorical_values,json=parentCategoricalValues,proto3,oneof"` +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues) isStudySpec_ParameterSpec_ConditionalParameterSpec_ParentValueCondition() { +} + +// Represents the spec to match discrete values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'DISCRETE' type. + // All values must exist in `discrete_value_spec` of parent parameter. + // + // The Epsilon of the value matching is 1e-10. + Values []float64 `protobuf:"fixed64,1,rep,packed,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[22] + 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 StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 4, 0} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition) GetValues() []float64 { + if x != nil { + return x.Values + } + return nil +} + +// Represents the spec to match integer values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'INTEGER' type. + // All values must lie in `integer_value_spec` of parent parameter. + Values []int64 `protobuf:"varint,1,rep,packed,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[23] + 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 StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 4, 1} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition) GetValues() []int64 { + if x != nil { + return x.Values + } + return nil +} + +// Represents the spec to match categorical values from parent parameter. +type StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Matches values of the parent parameter of 'CATEGORICAL' + // type. All values must exist in `categorical_value_spec` of parent + // parameter. + Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) Reset() { + *x = StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) ProtoMessage() {} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[24] + 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 StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition.ProtoReflect.Descriptor instead. +func (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{4, 1, 4, 2} +} + +func (x *StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +// A message representing a metric in the measurement. +type Measurement_Metric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The ID of the Metric. The Metric should be defined in + // [StudySpec's Metrics][mockgcp.cloud.aiplatform.v1beta1.StudySpec.metrics]. + MetricId string `protobuf:"bytes,1,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"` + // Output only. The value for this metric. + Value float64 `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Measurement_Metric) Reset() { + *x = Measurement_Metric{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Measurement_Metric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Measurement_Metric) ProtoMessage() {} + +func (x *Measurement_Metric) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[25] + 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 Measurement_Metric.ProtoReflect.Descriptor instead. +func (*Measurement_Metric) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *Measurement_Metric) GetMetricId() string { + if x != nil { + return x.MetricId + } + return "" +} + +func (x *Measurement_Metric) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_study_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x1c, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 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, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x03, 0x0a, 0x05, + 0x53, 0x74, 0x75, 0x64, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x64, 0x79, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, + 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, + 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0e, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x47, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, + 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x75, 0x64, 0x79, + 0x12, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x75, 0x64, 0x79, 0x7d, 0x22, 0x95, 0x09, 0x0a, 0x05, 0x54, 0x72, + 0x69, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 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, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x11, 0x69, 0x6e, + 0x66, 0x65, 0x61, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x69, 0x6e, 0x66, 0x65, + 0x61, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x52, 0x09, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x12, 0x67, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x57, 0x65, 0x62, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, + 0x73, 0x1a, 0x66, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x26, + 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x57, 0x65, 0x62, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, + 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, + 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x46, 0x45, 0x41, 0x53, 0x49, 0x42, 0x4c, + 0x45, 0x10, 0x05, 0x3a, 0x6c, 0xea, 0x41, 0x69, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x75, 0x64, + 0x79, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x61, 0x6c, + 0x7d, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, + 0x3e, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72, 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, + 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x48, 0x00, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0xdd, 0x2e, 0x0a, 0x09, 0x53, 0x74, 0x75, 0x64, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x88, 0x01, 0x0a, 0x19, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x63, + 0x75, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x61, 0x79, 0x43, 0x75, 0x72, 0x76, 0x65, + 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x16, 0x64, 0x65, 0x63, 0x61, 0x79, 0x43, 0x75, + 0x72, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x8e, 0x01, 0x0a, 0x1e, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, + 0x63, 0x48, 0x00, 0x52, 0x1b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x70, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, + 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, + 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x8e, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x41, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x55, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x5e, 0x0a, 0x0a, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x09, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, + 0x69, 0x0a, 0x11, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x69, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, + 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x52, 0x10, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x6d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x18, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x7c, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4c, + 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, + 0x15, 0x73, 0x74, 0x75, 0x64, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, + 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, + 0x13, 0x73, 0x74, 0x75, 0x64, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x86, 0x04, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x04, 0x67, 0x6f, 0x61, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x47, + 0x6f, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x67, 0x6f, + 0x61, 0x6c, 0x12, 0x73, 0x0a, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, + 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x1a, 0xb1, 0x01, 0x0a, 0x12, 0x53, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, + 0x0a, 0x10, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 0x20, 0x64, 0x65, 0x73, + 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, 0x72, + 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x69, + 0x6e, 0x53, 0x61, 0x66, 0x65, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x46, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, + 0x65, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x61, + 0x6c, 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x08, 0x47, + 0x6f, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x4f, 0x41, 0x4c, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x10, 0x02, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x1a, 0xe4, 0x11, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x77, 0x0a, 0x11, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x7a, 0x0a, 0x12, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x86, 0x01, 0x0a, 0x16, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x14, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x7d, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, + 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x0a, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x1b, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x52, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x73, + 0x1a, 0x91, 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x92, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, + 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, + 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x6f, 0x0a, 0x14, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x28, + 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x6c, 0x0a, 0x11, 0x44, 0x69, + 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xa4, 0x06, 0x0a, 0x18, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0xa1, 0x01, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x69, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, + 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x72, + 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x72, + 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x11, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xaa, + 0x01, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x6c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, + 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x0e, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x70, 0x65, 0x63, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x1a, 0x35, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x63, 0x72, 0x65, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x30, 0x0a, 0x11, 0x49, 0x6e, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x19, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x6e, 0x0a, 0x09, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, + 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x49, 0x54, + 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, + 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x56, 0x45, + 0x52, 0x53, 0x45, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x42, + 0x16, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x1a, 0x53, 0x0a, 0x1f, 0x44, 0x65, 0x63, 0x61, 0x79, + 0x43, 0x75, 0x72, 0x76, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, + 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x73, + 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x73, 0x65, 0x45, 0x6c, 0x61, + 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x4f, 0x0a, 0x1b, + 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x30, 0x0a, 0x14, 0x75, + 0x73, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x73, 0x65, 0x45, 0x6c, + 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xee, 0x02, + 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x64, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, + 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x65, 0x70, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x69, 0x6e, + 0x53, 0x74, 0x65, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x69, 0x6e, + 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x61, + 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, + 0x1c, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x19, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, + 0x0a, 0x14, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x73, + 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3e, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, + 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xf3, + 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x78, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, + 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4e, + 0x75, 0x6d, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6d, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, + 0x75, 0x74, 0x6f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x72, + 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3f, + 0x0a, 0x1c, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x3a, 0x02, 0x18, 0x01, 0x1a, 0x85, 0x01, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x3a, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x53, 0x74, 0x75, 0x64, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0xf8, 0x04, 0x0a, + 0x13, 0x53, 0x74, 0x75, 0x64, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x73, + 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x73, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x75, + 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x61, 0x70, 0x12, 0x73, 0x0a, 0x1a, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x18, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, + 0x73, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x75, 0x64, 0x79, 0x54, 0x69, 0x6d, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x4e, 0x75, + 0x6d, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x61, + 0x78, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x61, + 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x78, + 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x52, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x07, 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, 0x15, 0x6d, 0x61, 0x78, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4a, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54, 0x48, + 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x0b, 0x47, 0x52, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, + 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, + 0x48, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x10, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x42, 0x53, 0x45, 0x52, + 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, + 0x57, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x22, 0x72, 0x0a, + 0x18, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x45, 0x41, + 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x45, + 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x42, + 0x45, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, + 0x02, 0x42, 0x19, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x42, 0x18, 0x0a, 0x16, + 0x5f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x98, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, + 0x64, 0x5f, 0x64, 0x75, 0x72, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x65, 0x70, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x45, 0x0a, 0x06, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0xe2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x75, 0x64, + 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_mockgcp_cloud_aiplatform_v1beta1_study_proto_goTypes = []interface{}{ + (Study_State)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.Study.State + (Trial_State)(0), // 1: mockgcp.cloud.aiplatform.v1beta1.Trial.State + (StudySpec_Algorithm)(0), // 2: mockgcp.cloud.aiplatform.v1beta1.StudySpec.Algorithm + (StudySpec_ObservationNoise)(0), // 3: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ObservationNoise + (StudySpec_MeasurementSelectionType)(0), // 4: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MeasurementSelectionType + (StudySpec_MetricSpec_GoalType)(0), // 5: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.GoalType + (StudySpec_ParameterSpec_ScaleType)(0), // 6: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ScaleType + (*Study)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.Study + (*Trial)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.Trial + (*TrialContext)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.TrialContext + (*StudyTimeConstraint)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.StudyTimeConstraint + (*StudySpec)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.StudySpec + (*Measurement)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.Measurement + (*Trial_Parameter)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.Trial.Parameter + nil, // 14: mockgcp.cloud.aiplatform.v1beta1.Trial.WebAccessUrisEntry + (*StudySpec_MetricSpec)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec + (*StudySpec_ParameterSpec)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec + (*StudySpec_DecayCurveAutomatedStoppingSpec)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.StudySpec.DecayCurveAutomatedStoppingSpec + (*StudySpec_MedianAutomatedStoppingSpec)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MedianAutomatedStoppingSpec + (*StudySpec_ConvexAutomatedStoppingSpec)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ConvexAutomatedStoppingSpec + (*StudySpec_ConvexStopConfig)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ConvexStopConfig + (*StudySpec_TransferLearningConfig)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.StudySpec.TransferLearningConfig + (*StudySpec_StudyStoppingConfig)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig + (*StudySpec_MetricSpec_SafetyMetricConfig)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.SafetyMetricConfig + (*StudySpec_ParameterSpec_DoubleValueSpec)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DoubleValueSpec + (*StudySpec_ParameterSpec_IntegerValueSpec)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.IntegerValueSpec + (*StudySpec_ParameterSpec_CategoricalValueSpec)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.CategoricalValueSpec + (*StudySpec_ParameterSpec_DiscreteValueSpec)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DiscreteValueSpec + (*StudySpec_ParameterSpec_ConditionalParameterSpec)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec + (*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition + (*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition + (*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition + (*Measurement_Metric)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.Measurement.Metric + (*timestamp.Timestamp)(nil), // 33: google.protobuf.Timestamp + (*duration.Duration)(nil), // 34: google.protobuf.Duration + (*_struct.Value)(nil), // 35: google.protobuf.Value + (*wrappers.BoolValue)(nil), // 36: google.protobuf.BoolValue + (*wrappers.Int32Value)(nil), // 37: google.protobuf.Int32Value +} +var file_mockgcp_cloud_aiplatform_v1beta1_study_proto_depIdxs = []int32{ + 11, // 0: mockgcp.cloud.aiplatform.v1beta1.Study.study_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec + 0, // 1: mockgcp.cloud.aiplatform.v1beta1.Study.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Study.State + 33, // 2: mockgcp.cloud.aiplatform.v1beta1.Study.create_time:type_name -> google.protobuf.Timestamp + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.Trial.state:type_name -> mockgcp.cloud.aiplatform.v1beta1.Trial.State + 13, // 4: mockgcp.cloud.aiplatform.v1beta1.Trial.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Trial.Parameter + 12, // 5: mockgcp.cloud.aiplatform.v1beta1.Trial.final_measurement:type_name -> mockgcp.cloud.aiplatform.v1beta1.Measurement + 12, // 6: mockgcp.cloud.aiplatform.v1beta1.Trial.measurements:type_name -> mockgcp.cloud.aiplatform.v1beta1.Measurement + 33, // 7: mockgcp.cloud.aiplatform.v1beta1.Trial.start_time:type_name -> google.protobuf.Timestamp + 33, // 8: mockgcp.cloud.aiplatform.v1beta1.Trial.end_time:type_name -> google.protobuf.Timestamp + 14, // 9: mockgcp.cloud.aiplatform.v1beta1.Trial.web_access_uris:type_name -> mockgcp.cloud.aiplatform.v1beta1.Trial.WebAccessUrisEntry + 13, // 10: mockgcp.cloud.aiplatform.v1beta1.TrialContext.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Trial.Parameter + 34, // 11: mockgcp.cloud.aiplatform.v1beta1.StudyTimeConstraint.max_duration:type_name -> google.protobuf.Duration + 33, // 12: mockgcp.cloud.aiplatform.v1beta1.StudyTimeConstraint.end_time:type_name -> google.protobuf.Timestamp + 17, // 13: mockgcp.cloud.aiplatform.v1beta1.StudySpec.decay_curve_stopping_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.DecayCurveAutomatedStoppingSpec + 18, // 14: mockgcp.cloud.aiplatform.v1beta1.StudySpec.median_automated_stopping_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.MedianAutomatedStoppingSpec + 20, // 15: mockgcp.cloud.aiplatform.v1beta1.StudySpec.convex_stop_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ConvexStopConfig + 19, // 16: mockgcp.cloud.aiplatform.v1beta1.StudySpec.convex_automated_stopping_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ConvexAutomatedStoppingSpec + 15, // 17: mockgcp.cloud.aiplatform.v1beta1.StudySpec.metrics:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec + 16, // 18: mockgcp.cloud.aiplatform.v1beta1.StudySpec.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec + 2, // 19: mockgcp.cloud.aiplatform.v1beta1.StudySpec.algorithm:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.Algorithm + 3, // 20: mockgcp.cloud.aiplatform.v1beta1.StudySpec.observation_noise:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ObservationNoise + 4, // 21: mockgcp.cloud.aiplatform.v1beta1.StudySpec.measurement_selection_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.MeasurementSelectionType + 21, // 22: mockgcp.cloud.aiplatform.v1beta1.StudySpec.transfer_learning_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.TransferLearningConfig + 22, // 23: mockgcp.cloud.aiplatform.v1beta1.StudySpec.study_stopping_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig + 34, // 24: mockgcp.cloud.aiplatform.v1beta1.Measurement.elapsed_duration:type_name -> google.protobuf.Duration + 32, // 25: mockgcp.cloud.aiplatform.v1beta1.Measurement.metrics:type_name -> mockgcp.cloud.aiplatform.v1beta1.Measurement.Metric + 35, // 26: mockgcp.cloud.aiplatform.v1beta1.Trial.Parameter.value:type_name -> google.protobuf.Value + 5, // 27: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.goal:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.GoalType + 23, // 28: mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.safety_config:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.MetricSpec.SafetyMetricConfig + 24, // 29: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.double_value_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DoubleValueSpec + 25, // 30: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.integer_value_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.IntegerValueSpec + 26, // 31: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.categorical_value_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.CategoricalValueSpec + 27, // 32: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.discrete_value_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.DiscreteValueSpec + 6, // 33: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.scale_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ScaleType + 28, // 34: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.conditional_parameter_specs:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec + 36, // 35: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.should_stop_asap:type_name -> google.protobuf.BoolValue + 10, // 36: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.minimum_runtime_constraint:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudyTimeConstraint + 10, // 37: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.maximum_runtime_constraint:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudyTimeConstraint + 37, // 38: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.min_num_trials:type_name -> google.protobuf.Int32Value + 37, // 39: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.max_num_trials:type_name -> google.protobuf.Int32Value + 37, // 40: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.max_num_trials_no_progress:type_name -> google.protobuf.Int32Value + 34, // 41: mockgcp.cloud.aiplatform.v1beta1.StudySpec.StudyStoppingConfig.max_duration_no_progress:type_name -> google.protobuf.Duration + 29, // 42: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_discrete_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.DiscreteValueCondition + 30, // 43: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_int_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.IntValueCondition + 31, // 44: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parent_categorical_values:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.CategoricalValueCondition + 16, // 45: mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec.ConditionalParameterSpec.parameter_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.StudySpec.ParameterSpec + 46, // [46:46] is the sub-list for method output_type + 46, // [46:46] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_study_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_study_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_study_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Study); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Trial); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrialContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudyTimeConstraint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Measurement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Trial_Parameter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_MetricSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_DecayCurveAutomatedStoppingSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_MedianAutomatedStoppingSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ConvexAutomatedStoppingSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ConvexStopConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_TransferLearningConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_StudyStoppingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_MetricSpec_SafetyMetricConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_DoubleValueSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_IntegerValueSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_CategoricalValueSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_DiscreteValueSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_DiscreteValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_IntValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StudySpec_ParameterSpec_ConditionalParameterSpec_CategoricalValueCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Measurement_Metric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*StudyTimeConstraint_MaxDuration)(nil), + (*StudyTimeConstraint_EndTime)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*StudySpec_DecayCurveStoppingSpec)(nil), + (*StudySpec_MedianAutomatedStoppingSpec_)(nil), + (*StudySpec_ConvexStopConfig_)(nil), + (*StudySpec_ConvexAutomatedStoppingSpec_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*StudySpec_ParameterSpec_DoubleValueSpec_)(nil), + (*StudySpec_ParameterSpec_IntegerValueSpec_)(nil), + (*StudySpec_ParameterSpec_CategoricalValueSpec_)(nil), + (*StudySpec_ParameterSpec_DiscreteValueSpec_)(nil), + } + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes[21].OneofWrappers = []interface{}{ + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentDiscreteValues)(nil), + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentIntValues)(nil), + (*StudySpec_ParameterSpec_ConditionalParameterSpec_ParentCategoricalValues)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDesc, + NumEnums: 7, + NumMessages: 26, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_study_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_study_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_study_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_study_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_study_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_study_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard.pb.go new file mode 100644 index 0000000000..915e685456 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard.pb.go @@ -0,0 +1,351 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Tensorboard is a physical database that stores users' training metrics. +// A default Tensorboard is provided in each region of a Google Cloud project. +// If needed users can also create extra Tensorboards in their projects. +type Tensorboard struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Name of the Tensorboard. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User provided name of this Tensorboard. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Description of this Tensorboard. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Customer-managed encryption key spec for a Tensorboard. If set, this + // Tensorboard and all sub-resources of this Tensorboard will be secured by + // this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,11,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Output only. Consumer project Cloud Storage path prefix used to store blob + // data, which can either be a bucket or directory. Does not end with a '/'. + BlobStoragePathPrefix string `protobuf:"bytes,10,opt,name=blob_storage_path_prefix,json=blobStoragePathPrefix,proto3" json:"blob_storage_path_prefix,omitempty"` + // Output only. The number of Runs stored in this Tensorboard. + RunCount int32 `protobuf:"varint,5,opt,name=run_count,json=runCount,proto3" json:"run_count,omitempty"` + // Output only. Timestamp when this Tensorboard was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this Tensorboard was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels with user-defined metadata to organize your Tensorboards. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Tensorboard + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // Used to indicate if the TensorBoard instance is the default one. + // Each project & region can have at most one default TensorBoard instance. + // Creation of a default TensorBoard instance and updating an existing + // TensorBoard instance to be default will mark all other TensorBoard + // instances (if any) as non default. + IsDefault bool `protobuf:"varint,12,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` +} + +func (x *Tensorboard) Reset() { + *x = Tensorboard{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tensorboard) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tensorboard) ProtoMessage() {} + +func (x *Tensorboard) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_msgTypes[0] + 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 Tensorboard.ProtoReflect.Descriptor instead. +func (*Tensorboard) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescGZIP(), []int{0} +} + +func (x *Tensorboard) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Tensorboard) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Tensorboard) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Tensorboard) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *Tensorboard) GetBlobStoragePathPrefix() string { + if x != nil { + return x.BlobStoragePathPrefix + } + return "" +} + +func (x *Tensorboard) GetRunCount() int32 { + if x != nil { + return x.RunCount + } + return 0 +} + +func (x *Tensorboard) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Tensorboard) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Tensorboard) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Tensorboard) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Tensorboard) GetIsDefault() bool { + if x != nil { + return x.IsDefault + } + return false +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x70, 0x65, 0x63, 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, 0x22, 0xe0, 0x05, 0x0a, 0x0b, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, + 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x18, 0x62, 0x6c, 0x6f, + 0x62, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x08, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x6e, + 0xea, 0x41, 0x6b, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x42, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x7d, 0x42, 0xe8, + 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, + 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_goTypes = []interface{}{ + (*Tensorboard)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Tensorboard + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.Tensorboard.LabelsEntry + (*EncryptionSpec)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.Tensorboard.encryption_spec:type_name -> mockgcp.cloud.aiplatform.v1beta1.EncryptionSpec + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.Tensorboard.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.Tensorboard.update_time:type_name -> google.protobuf.Timestamp + 1, // 3: mockgcp.cloud.aiplatform.v1beta1.Tensorboard.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensorboard.LabelsEntry + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] 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 +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_encryption_spec_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tensorboard); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_data.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_data.pb.go new file mode 100644 index 0000000000..0478a23f04 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_data.pb.go @@ -0,0 +1,678 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_data.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// All the data stored in a TensorboardTimeSeries. +type TimeSeriesData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of the TensorboardTimeSeries, which will become the final + // component of the TensorboardTimeSeries' resource name + TensorboardTimeSeriesId string `protobuf:"bytes,1,opt,name=tensorboard_time_series_id,json=tensorboardTimeSeriesId,proto3" json:"tensorboard_time_series_id,omitempty"` + // Required. Immutable. The value type of this time series. All the values in + // this time series data must match this value type. + ValueType TensorboardTimeSeries_ValueType `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries_ValueType" json:"value_type,omitempty"` + // Required. Data points in this time series. + Values []*TimeSeriesDataPoint `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *TimeSeriesData) Reset() { + *x = TimeSeriesData{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeSeriesData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeSeriesData) ProtoMessage() {} + +func (x *TimeSeriesData) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[0] + 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 TimeSeriesData.ProtoReflect.Descriptor instead. +func (*TimeSeriesData) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{0} +} + +func (x *TimeSeriesData) GetTensorboardTimeSeriesId() string { + if x != nil { + return x.TensorboardTimeSeriesId + } + return "" +} + +func (x *TimeSeriesData) GetValueType() TensorboardTimeSeries_ValueType { + if x != nil { + return x.ValueType + } + return TensorboardTimeSeries_VALUE_TYPE_UNSPECIFIED +} + +func (x *TimeSeriesData) GetValues() []*TimeSeriesDataPoint { + if x != nil { + return x.Values + } + return nil +} + +// A TensorboardTimeSeries data point. +type TimeSeriesDataPoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Value of this time series data point. + // + // Types that are assignable to Value: + // + // *TimeSeriesDataPoint_Scalar + // *TimeSeriesDataPoint_Tensor + // *TimeSeriesDataPoint_Blobs + Value isTimeSeriesDataPoint_Value `protobuf_oneof:"value"` + // Wall clock timestamp when this data point is generated by the end user. + WallTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=wall_time,json=wallTime,proto3" json:"wall_time,omitempty"` + // Step index of this data point within the run. + Step int64 `protobuf:"varint,2,opt,name=step,proto3" json:"step,omitempty"` +} + +func (x *TimeSeriesDataPoint) Reset() { + *x = TimeSeriesDataPoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeSeriesDataPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeSeriesDataPoint) ProtoMessage() {} + +func (x *TimeSeriesDataPoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[1] + 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 TimeSeriesDataPoint.ProtoReflect.Descriptor instead. +func (*TimeSeriesDataPoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{1} +} + +func (m *TimeSeriesDataPoint) GetValue() isTimeSeriesDataPoint_Value { + if m != nil { + return m.Value + } + return nil +} + +func (x *TimeSeriesDataPoint) GetScalar() *Scalar { + if x, ok := x.GetValue().(*TimeSeriesDataPoint_Scalar); ok { + return x.Scalar + } + return nil +} + +func (x *TimeSeriesDataPoint) GetTensor() *TensorboardTensor { + if x, ok := x.GetValue().(*TimeSeriesDataPoint_Tensor); ok { + return x.Tensor + } + return nil +} + +func (x *TimeSeriesDataPoint) GetBlobs() *TensorboardBlobSequence { + if x, ok := x.GetValue().(*TimeSeriesDataPoint_Blobs); ok { + return x.Blobs + } + return nil +} + +func (x *TimeSeriesDataPoint) GetWallTime() *timestamp.Timestamp { + if x != nil { + return x.WallTime + } + return nil +} + +func (x *TimeSeriesDataPoint) GetStep() int64 { + if x != nil { + return x.Step + } + return 0 +} + +type isTimeSeriesDataPoint_Value interface { + isTimeSeriesDataPoint_Value() +} + +type TimeSeriesDataPoint_Scalar struct { + // A scalar value. + Scalar *Scalar `protobuf:"bytes,3,opt,name=scalar,proto3,oneof"` +} + +type TimeSeriesDataPoint_Tensor struct { + // A tensor value. + Tensor *TensorboardTensor `protobuf:"bytes,4,opt,name=tensor,proto3,oneof"` +} + +type TimeSeriesDataPoint_Blobs struct { + // A blob sequence value. + Blobs *TensorboardBlobSequence `protobuf:"bytes,5,opt,name=blobs,proto3,oneof"` +} + +func (*TimeSeriesDataPoint_Scalar) isTimeSeriesDataPoint_Value() {} + +func (*TimeSeriesDataPoint_Tensor) isTimeSeriesDataPoint_Value() {} + +func (*TimeSeriesDataPoint_Blobs) isTimeSeriesDataPoint_Value() {} + +// One point viewable on a scalar metric plot. +type Scalar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Value of the point at this step / timestamp. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Scalar) Reset() { + *x = Scalar{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Scalar) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scalar) ProtoMessage() {} + +func (x *Scalar) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_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 Scalar.ProtoReflect.Descriptor instead. +func (*Scalar) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{2} +} + +func (x *Scalar) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +// One point viewable on a tensor metric plot. +type TensorboardTensor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Serialized form of + // https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/framework/tensor.proto + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // Optional. Version number of TensorProto used to serialize + // [value][mockgcp.cloud.aiplatform.v1beta1.TensorboardTensor.value]. + VersionNumber int32 `protobuf:"varint,2,opt,name=version_number,json=versionNumber,proto3" json:"version_number,omitempty"` +} + +func (x *TensorboardTensor) Reset() { + *x = TensorboardTensor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardTensor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardTensor) ProtoMessage() {} + +func (x *TensorboardTensor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[3] + 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 TensorboardTensor.ProtoReflect.Descriptor instead. +func (*TensorboardTensor) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{3} +} + +func (x *TensorboardTensor) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *TensorboardTensor) GetVersionNumber() int32 { + if x != nil { + return x.VersionNumber + } + return 0 +} + +// One point viewable on a blob metric plot, but mostly just a wrapper message +// to work around repeated fields can't be used directly within `oneof` fields. +type TensorboardBlobSequence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of blobs contained within the sequence. + Values []*TensorboardBlob `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *TensorboardBlobSequence) Reset() { + *x = TensorboardBlobSequence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardBlobSequence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardBlobSequence) ProtoMessage() {} + +func (x *TensorboardBlobSequence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[4] + 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 TensorboardBlobSequence.ProtoReflect.Descriptor instead. +func (*TensorboardBlobSequence) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{4} +} + +func (x *TensorboardBlobSequence) GetValues() []*TensorboardBlob { + if x != nil { + return x.Values + } + return nil +} + +// One blob (e.g, image, graph) viewable on a blob metric plot. +type TensorboardBlob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. A URI safe key uniquely identifying a blob. Can be used to + // locate the blob stored in the Cloud Storage bucket of the consumer project. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Optional. The bytes of the blob is not present unless it's returned by the + // ReadTensorboardBlobData endpoint. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *TensorboardBlob) Reset() { + *x = TensorboardBlob{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardBlob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardBlob) ProtoMessage() {} + +func (x *TensorboardBlob) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[5] + 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 TensorboardBlob.ProtoReflect.Descriptor instead. +func (*TensorboardBlob) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP(), []int{5} +} + +func (x *TensorboardBlob) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *TensorboardBlob) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDesc = []byte{ + 0x0a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x3e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 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, 0x22, 0x90, 0x02, + 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x40, 0x0a, 0x1a, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x49, 0x64, 0x12, 0x68, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, + 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x22, 0xd1, 0x02, 0x0a, 0x13, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, + 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x12, 0x4d, 0x0a, 0x06, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x48, 0x00, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x05, 0x62, + 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x37, + 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x08, 0x77, + 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1e, 0x0a, 0x06, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5a, 0x0a, 0x11, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x22, 0x64, 0x0a, 0x17, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, + 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x0f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0xec, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x14, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, + 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_goTypes = []interface{}{ + (*TimeSeriesData)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData + (*TimeSeriesDataPoint)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint + (*Scalar)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.Scalar + (*TensorboardTensor)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.TensorboardTensor + (*TensorboardBlobSequence)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.TensorboardBlobSequence + (*TensorboardBlob)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.TensorboardBlob + (TensorboardTimeSeries_ValueType)(0), // 6: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.ValueType + (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_depIdxs = []int32{ + 6, // 0: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData.value_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.ValueType + 1, // 1: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData.values:type_name -> mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint + 2, // 2: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint.scalar:type_name -> mockgcp.cloud.aiplatform.v1beta1.Scalar + 3, // 3: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint.tensor:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTensor + 4, // 4: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint.blobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardBlobSequence + 7, // 5: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint.wall_time:type_name -> google.protobuf.Timestamp + 5, // 6: mockgcp.cloud.aiplatform.v1beta1.TensorboardBlobSequence.values:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardBlob + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeSeriesData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeSeriesDataPoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Scalar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardTensor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardBlobSequence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardBlob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*TimeSeriesDataPoint_Scalar)(nil), + (*TimeSeriesDataPoint_Tensor)(nil), + (*TimeSeriesDataPoint_Blobs)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_experiment.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_experiment.pb.go new file mode 100644 index 0000000000..8a3a536af1 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_experiment.pb.go @@ -0,0 +1,309 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_experiment.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A TensorboardExperiment is a group of TensorboardRuns, that are typically the +// results of a training job run, in a Tensorboard. +type TensorboardExperiment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Name of the TensorboardExperiment. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // User provided name of this TensorboardExperiment. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Description of this TensorboardExperiment. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when this TensorboardExperiment was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this TensorboardExperiment was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels with user-defined metadata to organize your + // TensorboardExperiment. + // + // Label keys and values cannot be longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one Dataset (System + // labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with `aiplatform.googleapis.com/` + // and are immutable. The following system labels exist for each Dataset: + // + // - `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its + // value is the + // [metadata_schema's][mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] + // title. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` + // Immutable. Source of the TensorboardExperiment. Example: a custom training + // job. + Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *TensorboardExperiment) Reset() { + *x = TensorboardExperiment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardExperiment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardExperiment) ProtoMessage() {} + +func (x *TensorboardExperiment) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_msgTypes[0] + 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 TensorboardExperiment.ProtoReflect.Descriptor instead. +func (*TensorboardExperiment) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescGZIP(), []int{0} +} + +func (x *TensorboardExperiment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TensorboardExperiment) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *TensorboardExperiment) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *TensorboardExperiment) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *TensorboardExperiment) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *TensorboardExperiment) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *TensorboardExperiment) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *TensorboardExperiment) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDesc = []byte{ + 0x0a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x22, 0xd7, + 0x04, 0x0a, 0x15, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x3a, 0x92, 0x01, 0xea, 0x41, 0x8e, 0x01, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x7d, 0x2f, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x42, 0xf2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x1a, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_goTypes = []interface{}{ + (*TensorboardExperiment)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment.LabelsEntry + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment.LabelsEntry + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardExperiment); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_run.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_run.pb.go new file mode 100644 index 0000000000..8c7b7bd5cb --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_run.pb.go @@ -0,0 +1,299 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_run.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// TensorboardRun maps to a specific execution of a training job with a given +// set of hyperparameter values, model definition, dataset, etc +type TensorboardRun struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Name of the TensorboardRun. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User provided name of this TensorboardRun. + // This value must be unique among all TensorboardRuns + // belonging to the same parent TensorboardExperiment. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Description of this TensorboardRun. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when this TensorboardRun was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this TensorboardRun was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels with user-defined metadata to organize your TensorboardRuns. + // + // This field will be used to filter and visualize Runs in the Tensorboard UI. + // For example, a Vertex AI training job can set a label + // aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created + // within that job. An end user can set a label experiment_id=xxxxx for all + // the runs produced in a Jupyter notebook. These runs can be grouped by a + // label value and visualized together in the Tensorboard UI. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one TensorboardRun + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *TensorboardRun) Reset() { + *x = TensorboardRun{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardRun) ProtoMessage() {} + +func (x *TensorboardRun) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_msgTypes[0] + 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 TensorboardRun.ProtoReflect.Descriptor instead. +func (*TensorboardRun) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescGZIP(), []int{0} +} + +func (x *TensorboardRun) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TensorboardRun) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *TensorboardRun) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *TensorboardRun) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *TensorboardRun) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *TensorboardRun) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *TensorboardRun) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, + 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x22, 0xb5, 0x04, 0x0a, 0x0e, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x52, 0x75, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x96, 0x01, 0xea, 0x41, 0x92, 0x01, 0x0a, 0x28, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x7d, 0x42, + 0xeb, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, + 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_goTypes = []interface{}{ + (*TensorboardRun)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + nil, // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun.LabelsEntry + (*timestamp.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_depIdxs = []int32{ + 2, // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun.create_time:type_name -> google.protobuf.Timestamp + 2, // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun.labels:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun.LabelsEntry + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardRun); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.go new file mode 100644 index 0000000000..344f657f96 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.go @@ -0,0 +1,4928 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [TensorboardService.CreateTensorboard][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard]. +type CreateTensorboardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the Tensorboard in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Tensorboard to create. + Tensorboard *Tensorboard `protobuf:"bytes,2,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` +} + +func (x *CreateTensorboardRequest) Reset() { + *x = CreateTensorboardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTensorboardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTensorboardRequest) ProtoMessage() {} + +func (x *CreateTensorboardRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[0] + 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 CreateTensorboardRequest.ProtoReflect.Descriptor instead. +func (*CreateTensorboardRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateTensorboardRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateTensorboardRequest) GetTensorboard() *Tensorboard { + if x != nil { + return x.Tensorboard + } + return nil +} + +// Request message for +// [TensorboardService.GetTensorboard][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard]. +type GetTensorboardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Tensorboard resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetTensorboardRequest) Reset() { + *x = GetTensorboardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTensorboardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTensorboardRequest) ProtoMessage() {} + +func (x *GetTensorboardRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[1] + 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 GetTensorboardRequest.ProtoReflect.Descriptor instead. +func (*GetTensorboardRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetTensorboardRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.ListTensorboards][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. +type ListTensorboardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list Tensorboards. + // Format: + // `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the Tensorboards that match the filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of Tensorboards to return. The service may return + // fewer than this value. If unspecified, at most 100 Tensorboards are + // returned. The maximum value is 100; values above 100 are coerced to + // 100. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [TensorboardService.ListTensorboards][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboards][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Field to use to sort the list. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListTensorboardsRequest) Reset() { + *x = ListTensorboardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardsRequest) ProtoMessage() {} + +func (x *ListTensorboardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_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 ListTensorboardsRequest.ProtoReflect.Descriptor instead. +func (*ListTensorboardsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListTensorboardsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListTensorboardsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListTensorboardsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListTensorboardsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListTensorboardsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListTensorboardsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [TensorboardService.ListTensorboards][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards]. +type ListTensorboardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Tensorboards mathching the request. + Tensorboards []*Tensorboard `protobuf:"bytes,1,rep,name=tensorboards,proto3" json:"tensorboards,omitempty"` + // A token, which can be sent as + // [ListTensorboardsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListTensorboardsResponse) Reset() { + *x = ListTensorboardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardsResponse) ProtoMessage() {} + +func (x *ListTensorboardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[3] + 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 ListTensorboardsResponse.ProtoReflect.Descriptor instead. +func (*ListTensorboardsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListTensorboardsResponse) GetTensorboards() []*Tensorboard { + if x != nil { + return x.Tensorboards + } + return nil +} + +func (x *ListTensorboardsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [TensorboardService.UpdateTensorboard][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard]. +type UpdateTensorboardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // Tensorboard resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it's in the mask. If the + // user does not provide a mask then all fields are overwritten if new + // values are specified. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The Tensorboard's `name` field is used to identify the + // Tensorboard to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard *Tensorboard `protobuf:"bytes,2,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` +} + +func (x *UpdateTensorboardRequest) Reset() { + *x = UpdateTensorboardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTensorboardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTensorboardRequest) ProtoMessage() {} + +func (x *UpdateTensorboardRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[4] + 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 UpdateTensorboardRequest.ProtoReflect.Descriptor instead. +func (*UpdateTensorboardRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateTensorboardRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateTensorboardRequest) GetTensorboard() *Tensorboard { + if x != nil { + return x.Tensorboard + } + return nil +} + +// Request message for +// [TensorboardService.DeleteTensorboard][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard]. +type DeleteTensorboardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Tensorboard to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteTensorboardRequest) Reset() { + *x = DeleteTensorboardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTensorboardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTensorboardRequest) ProtoMessage() {} + +func (x *DeleteTensorboardRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[5] + 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 DeleteTensorboardRequest.ProtoReflect.Descriptor instead. +func (*DeleteTensorboardRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteTensorboardRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.ReadTensorboardUsage][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage]. +type ReadTensorboardUsageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Tensorboard resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` +} + +func (x *ReadTensorboardUsageRequest) Reset() { + *x = ReadTensorboardUsageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardUsageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardUsageRequest) ProtoMessage() {} + +func (x *ReadTensorboardUsageRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_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 ReadTensorboardUsageRequest.ProtoReflect.Descriptor instead. +func (*ReadTensorboardUsageRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ReadTensorboardUsageRequest) GetTensorboard() string { + if x != nil { + return x.Tensorboard + } + return "" +} + +// Response message for +// [TensorboardService.ReadTensorboardUsage][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage]. +type ReadTensorboardUsageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maps year-month (YYYYMM) string to per month usage data. + MonthlyUsageData map[string]*ReadTensorboardUsageResponse_PerMonthUsageData `protobuf:"bytes,1,rep,name=monthly_usage_data,json=monthlyUsageData,proto3" json:"monthly_usage_data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ReadTensorboardUsageResponse) Reset() { + *x = ReadTensorboardUsageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardUsageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardUsageResponse) ProtoMessage() {} + +func (x *ReadTensorboardUsageResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[7] + 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 ReadTensorboardUsageResponse.ProtoReflect.Descriptor instead. +func (*ReadTensorboardUsageResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ReadTensorboardUsageResponse) GetMonthlyUsageData() map[string]*ReadTensorboardUsageResponse_PerMonthUsageData { + if x != nil { + return x.MonthlyUsageData + } + return nil +} + +// Request message for +// [TensorboardService.ReadTensorboardSize][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize]. +type ReadTensorboardSizeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Tensorboard resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` +} + +func (x *ReadTensorboardSizeRequest) Reset() { + *x = ReadTensorboardSizeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardSizeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardSizeRequest) ProtoMessage() {} + +func (x *ReadTensorboardSizeRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_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 ReadTensorboardSizeRequest.ProtoReflect.Descriptor instead. +func (*ReadTensorboardSizeRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ReadTensorboardSizeRequest) GetTensorboard() string { + if x != nil { + return x.Tensorboard + } + return "" +} + +// Response message for +// [TensorboardService.ReadTensorboardSize][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize]. +type ReadTensorboardSizeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Payload storage size for the TensorBoard + StorageSizeByte int64 `protobuf:"varint,1,opt,name=storage_size_byte,json=storageSizeByte,proto3" json:"storage_size_byte,omitempty"` +} + +func (x *ReadTensorboardSizeResponse) Reset() { + *x = ReadTensorboardSizeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardSizeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardSizeResponse) ProtoMessage() {} + +func (x *ReadTensorboardSizeResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[9] + 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 ReadTensorboardSizeResponse.ProtoReflect.Descriptor instead. +func (*ReadTensorboardSizeResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ReadTensorboardSizeResponse) GetStorageSizeByte() int64 { + if x != nil { + return x.StorageSizeByte + } + return 0 +} + +// Request message for +// [TensorboardService.CreateTensorboardExperiment][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment]. +type CreateTensorboardExperimentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Tensorboard to create the + // TensorboardExperiment in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The TensorboardExperiment to create. + TensorboardExperiment *TensorboardExperiment `protobuf:"bytes,2,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` + // Required. The ID to use for the Tensorboard experiment, which becomes the + // final component of the Tensorboard experiment's resource name. + // + // This value should be 1-128 characters, and valid characters + // are `/[a-z][0-9]-/`. + TensorboardExperimentId string `protobuf:"bytes,3,opt,name=tensorboard_experiment_id,json=tensorboardExperimentId,proto3" json:"tensorboard_experiment_id,omitempty"` +} + +func (x *CreateTensorboardExperimentRequest) Reset() { + *x = CreateTensorboardExperimentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTensorboardExperimentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTensorboardExperimentRequest) ProtoMessage() {} + +func (x *CreateTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[10] + 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 CreateTensorboardExperimentRequest.ProtoReflect.Descriptor instead. +func (*CreateTensorboardExperimentRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{10} +} + +func (x *CreateTensorboardExperimentRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateTensorboardExperimentRequest) GetTensorboardExperiment() *TensorboardExperiment { + if x != nil { + return x.TensorboardExperiment + } + return nil +} + +func (x *CreateTensorboardExperimentRequest) GetTensorboardExperimentId() string { + if x != nil { + return x.TensorboardExperimentId + } + return "" +} + +// Request message for +// [TensorboardService.GetTensorboardExperiment][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment]. +type GetTensorboardExperimentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardExperiment resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetTensorboardExperimentRequest) Reset() { + *x = GetTensorboardExperimentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTensorboardExperimentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTensorboardExperimentRequest) ProtoMessage() {} + +func (x *GetTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[11] + 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 GetTensorboardExperimentRequest.ProtoReflect.Descriptor instead. +func (*GetTensorboardExperimentRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{11} +} + +func (x *GetTensorboardExperimentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.ListTensorboardExperiments][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. +type ListTensorboardExperimentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Tensorboard to list + // TensorboardExperiments. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the TensorboardExperiments that match the filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of TensorboardExperiments to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardExperiments are returned. The maximum value is 1000; values + // above 1000 are coerced to 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [TensorboardService.ListTensorboardExperiments][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardExperiments][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Field to use to sort the list. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListTensorboardExperimentsRequest) Reset() { + *x = ListTensorboardExperimentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardExperimentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardExperimentsRequest) ProtoMessage() {} + +func (x *ListTensorboardExperimentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[12] + 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 ListTensorboardExperimentsRequest.ProtoReflect.Descriptor instead. +func (*ListTensorboardExperimentsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{12} +} + +func (x *ListTensorboardExperimentsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListTensorboardExperimentsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListTensorboardExperimentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListTensorboardExperimentsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListTensorboardExperimentsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListTensorboardExperimentsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [TensorboardService.ListTensorboardExperiments][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments]. +type ListTensorboardExperimentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The TensorboardExperiments mathching the request. + TensorboardExperiments []*TensorboardExperiment `protobuf:"bytes,1,rep,name=tensorboard_experiments,json=tensorboardExperiments,proto3" json:"tensorboard_experiments,omitempty"` + // A token, which can be sent as + // [ListTensorboardExperimentsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListTensorboardExperimentsResponse) Reset() { + *x = ListTensorboardExperimentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardExperimentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardExperimentsResponse) ProtoMessage() {} + +func (x *ListTensorboardExperimentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[13] + 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 ListTensorboardExperimentsResponse.ProtoReflect.Descriptor instead. +func (*ListTensorboardExperimentsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{13} +} + +func (x *ListTensorboardExperimentsResponse) GetTensorboardExperiments() []*TensorboardExperiment { + if x != nil { + return x.TensorboardExperiments + } + return nil +} + +func (x *ListTensorboardExperimentsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [TensorboardService.UpdateTensorboardExperiment][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment]. +type UpdateTensorboardExperimentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardExperiment resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it's in the mask. If the + // user does not provide a mask then all fields are overwritten if new + // values are specified. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The TensorboardExperiment's `name` field is used to identify the + // TensorboardExperiment to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + TensorboardExperiment *TensorboardExperiment `protobuf:"bytes,2,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` +} + +func (x *UpdateTensorboardExperimentRequest) Reset() { + *x = UpdateTensorboardExperimentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTensorboardExperimentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTensorboardExperimentRequest) ProtoMessage() {} + +func (x *UpdateTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[14] + 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 UpdateTensorboardExperimentRequest.ProtoReflect.Descriptor instead. +func (*UpdateTensorboardExperimentRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{14} +} + +func (x *UpdateTensorboardExperimentRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateTensorboardExperimentRequest) GetTensorboardExperiment() *TensorboardExperiment { + if x != nil { + return x.TensorboardExperiment + } + return nil +} + +// Request message for +// [TensorboardService.DeleteTensorboardExperiment][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment]. +type DeleteTensorboardExperimentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardExperiment to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteTensorboardExperimentRequest) Reset() { + *x = DeleteTensorboardExperimentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTensorboardExperimentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTensorboardExperimentRequest) ProtoMessage() {} + +func (x *DeleteTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_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 DeleteTensorboardExperimentRequest.ProtoReflect.Descriptor instead. +func (*DeleteTensorboardExperimentRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteTensorboardExperimentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.BatchCreateTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns]. +type BatchCreateTensorboardRunsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardRuns in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The parent field in the CreateTensorboardRunRequest messages must match + // this field. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The request message specifying the TensorboardRuns to create. + // A maximum of 1000 TensorboardRuns can be created in a batch. + Requests []*CreateTensorboardRunRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *BatchCreateTensorboardRunsRequest) Reset() { + *x = BatchCreateTensorboardRunsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateTensorboardRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateTensorboardRunsRequest) ProtoMessage() {} + +func (x *BatchCreateTensorboardRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[16] + 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 BatchCreateTensorboardRunsRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateTensorboardRunsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{16} +} + +func (x *BatchCreateTensorboardRunsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateTensorboardRunsRequest) GetRequests() []*CreateTensorboardRunRequest { + if x != nil { + return x.Requests + } + return nil +} + +// Response message for +// [TensorboardService.BatchCreateTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns]. +type BatchCreateTensorboardRunsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The created TensorboardRuns. + TensorboardRuns []*TensorboardRun `protobuf:"bytes,1,rep,name=tensorboard_runs,json=tensorboardRuns,proto3" json:"tensorboard_runs,omitempty"` +} + +func (x *BatchCreateTensorboardRunsResponse) Reset() { + *x = BatchCreateTensorboardRunsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateTensorboardRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateTensorboardRunsResponse) ProtoMessage() {} + +func (x *BatchCreateTensorboardRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[17] + 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 BatchCreateTensorboardRunsResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateTensorboardRunsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{17} +} + +func (x *BatchCreateTensorboardRunsResponse) GetTensorboardRuns() []*TensorboardRun { + if x != nil { + return x.TensorboardRuns + } + return nil +} + +// Request message for +// [TensorboardService.CreateTensorboardRun][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun]. +type CreateTensorboardRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardRun in. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The TensorboardRun to create. + TensorboardRun *TensorboardRun `protobuf:"bytes,2,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` + // Required. The ID to use for the Tensorboard run, which becomes the final + // component of the Tensorboard run's resource name. + // + // This value should be 1-128 characters, and valid characters + // are `/[a-z][0-9]-/`. + TensorboardRunId string `protobuf:"bytes,3,opt,name=tensorboard_run_id,json=tensorboardRunId,proto3" json:"tensorboard_run_id,omitempty"` +} + +func (x *CreateTensorboardRunRequest) Reset() { + *x = CreateTensorboardRunRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTensorboardRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTensorboardRunRequest) ProtoMessage() {} + +func (x *CreateTensorboardRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[18] + 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 CreateTensorboardRunRequest.ProtoReflect.Descriptor instead. +func (*CreateTensorboardRunRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{18} +} + +func (x *CreateTensorboardRunRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateTensorboardRunRequest) GetTensorboardRun() *TensorboardRun { + if x != nil { + return x.TensorboardRun + } + return nil +} + +func (x *CreateTensorboardRunRequest) GetTensorboardRunId() string { + if x != nil { + return x.TensorboardRunId + } + return "" +} + +// Request message for +// [TensorboardService.GetTensorboardRun][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun]. +type GetTensorboardRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardRun resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetTensorboardRunRequest) Reset() { + *x = GetTensorboardRunRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTensorboardRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTensorboardRunRequest) ProtoMessage() {} + +func (x *GetTensorboardRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[19] + 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 GetTensorboardRunRequest.ProtoReflect.Descriptor instead. +func (*GetTensorboardRunRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{19} +} + +func (x *GetTensorboardRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.ReadTensorboardBlobData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. +type ReadTensorboardBlobDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardTimeSeries to list Blobs. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TimeSeries string `protobuf:"bytes,1,opt,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"` + // IDs of the blobs to read. + BlobIds []string `protobuf:"bytes,2,rep,name=blob_ids,json=blobIds,proto3" json:"blob_ids,omitempty"` +} + +func (x *ReadTensorboardBlobDataRequest) Reset() { + *x = ReadTensorboardBlobDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardBlobDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardBlobDataRequest) ProtoMessage() {} + +func (x *ReadTensorboardBlobDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[20] + 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 ReadTensorboardBlobDataRequest.ProtoReflect.Descriptor instead. +func (*ReadTensorboardBlobDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{20} +} + +func (x *ReadTensorboardBlobDataRequest) GetTimeSeries() string { + if x != nil { + return x.TimeSeries + } + return "" +} + +func (x *ReadTensorboardBlobDataRequest) GetBlobIds() []string { + if x != nil { + return x.BlobIds + } + return nil +} + +// Response message for +// [TensorboardService.ReadTensorboardBlobData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData]. +type ReadTensorboardBlobDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Blob messages containing blob bytes. + Blobs []*TensorboardBlob `protobuf:"bytes,1,rep,name=blobs,proto3" json:"blobs,omitempty"` +} + +func (x *ReadTensorboardBlobDataResponse) Reset() { + *x = ReadTensorboardBlobDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardBlobDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardBlobDataResponse) ProtoMessage() {} + +func (x *ReadTensorboardBlobDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[21] + 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 ReadTensorboardBlobDataResponse.ProtoReflect.Descriptor instead. +func (*ReadTensorboardBlobDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ReadTensorboardBlobDataResponse) GetBlobs() []*TensorboardBlob { + if x != nil { + return x.Blobs + } + return nil +} + +// Request message for +// [TensorboardService.ListTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. +type ListTensorboardRunsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardExperiment to list + // TensorboardRuns. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the TensorboardRuns that match the filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of TensorboardRuns to return. The service may return + // fewer than this value. If unspecified, at most 50 TensorboardRuns are + // returned. The maximum value is 1000; values above 1000 are coerced to + // 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [TensorboardService.ListTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Field to use to sort the list. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListTensorboardRunsRequest) Reset() { + *x = ListTensorboardRunsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardRunsRequest) ProtoMessage() {} + +func (x *ListTensorboardRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[22] + 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 ListTensorboardRunsRequest.ProtoReflect.Descriptor instead. +func (*ListTensorboardRunsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{22} +} + +func (x *ListTensorboardRunsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListTensorboardRunsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListTensorboardRunsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListTensorboardRunsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListTensorboardRunsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListTensorboardRunsRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [TensorboardService.ListTensorboardRuns][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns]. +type ListTensorboardRunsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The TensorboardRuns mathching the request. + TensorboardRuns []*TensorboardRun `protobuf:"bytes,1,rep,name=tensorboard_runs,json=tensorboardRuns,proto3" json:"tensorboard_runs,omitempty"` + // A token, which can be sent as + // [ListTensorboardRunsRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListTensorboardRunsResponse) Reset() { + *x = ListTensorboardRunsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardRunsResponse) ProtoMessage() {} + +func (x *ListTensorboardRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[23] + 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 ListTensorboardRunsResponse.ProtoReflect.Descriptor instead. +func (*ListTensorboardRunsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{23} +} + +func (x *ListTensorboardRunsResponse) GetTensorboardRuns() []*TensorboardRun { + if x != nil { + return x.TensorboardRuns + } + return nil +} + +func (x *ListTensorboardRunsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [TensorboardService.UpdateTensorboardRun][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun]. +type UpdateTensorboardRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardRun resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it's in the mask. If the + // user does not provide a mask then all fields are overwritten if new + // values are specified. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The TensorboardRun's `name` field is used to identify the + // TensorboardRun to be updated. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + TensorboardRun *TensorboardRun `protobuf:"bytes,2,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` +} + +func (x *UpdateTensorboardRunRequest) Reset() { + *x = UpdateTensorboardRunRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTensorboardRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTensorboardRunRequest) ProtoMessage() {} + +func (x *UpdateTensorboardRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[24] + 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 UpdateTensorboardRunRequest.ProtoReflect.Descriptor instead. +func (*UpdateTensorboardRunRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{24} +} + +func (x *UpdateTensorboardRunRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateTensorboardRunRequest) GetTensorboardRun() *TensorboardRun { + if x != nil { + return x.TensorboardRun + } + return nil +} + +// Request message for +// [TensorboardService.DeleteTensorboardRun][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun]. +type DeleteTensorboardRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardRun to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteTensorboardRunRequest) Reset() { + *x = DeleteTensorboardRunRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTensorboardRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTensorboardRunRequest) ProtoMessage() {} + +func (x *DeleteTensorboardRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[25] + 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 DeleteTensorboardRunRequest.ProtoReflect.Descriptor instead. +func (*DeleteTensorboardRunRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{25} +} + +func (x *DeleteTensorboardRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.BatchCreateTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries]. +type BatchCreateTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardExperiment to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + // The TensorboardRuns referenced by the parent fields in the + // CreateTensorboardTimeSeriesRequest messages must be sub resources of this + // TensorboardExperiment. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The request message specifying the TensorboardTimeSeries to + // create. A maximum of 1000 TensorboardTimeSeries can be created in a batch. + Requests []*CreateTensorboardTimeSeriesRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` +} + +func (x *BatchCreateTensorboardTimeSeriesRequest) Reset() { + *x = BatchCreateTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *BatchCreateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[26] + 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 BatchCreateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{26} +} + +func (x *BatchCreateTensorboardTimeSeriesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateTensorboardTimeSeriesRequest) GetRequests() []*CreateTensorboardTimeSeriesRequest { + if x != nil { + return x.Requests + } + return nil +} + +// Response message for +// [TensorboardService.BatchCreateTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries]. +type BatchCreateTensorboardTimeSeriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The created TensorboardTimeSeries. + TensorboardTimeSeries []*TensorboardTimeSeries `protobuf:"bytes,1,rep,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` +} + +func (x *BatchCreateTensorboardTimeSeriesResponse) Reset() { + *x = BatchCreateTensorboardTimeSeriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateTensorboardTimeSeriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateTensorboardTimeSeriesResponse) ProtoMessage() {} + +func (x *BatchCreateTensorboardTimeSeriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[27] + 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 BatchCreateTensorboardTimeSeriesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateTensorboardTimeSeriesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{27} +} + +func (x *BatchCreateTensorboardTimeSeriesResponse) GetTensorboardTimeSeries() []*TensorboardTimeSeries { + if x != nil { + return x.TensorboardTimeSeries + } + return nil +} + +// Request message for +// [TensorboardService.CreateTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries]. +type CreateTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardRun to create the + // TensorboardTimeSeries in. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The user specified unique ID to use for the + // TensorboardTimeSeries, which becomes the final component of the + // TensorboardTimeSeries's resource name. This value should match + // "[a-z0-9][a-z0-9-]{0, 127}" + TensorboardTimeSeriesId string `protobuf:"bytes,3,opt,name=tensorboard_time_series_id,json=tensorboardTimeSeriesId,proto3" json:"tensorboard_time_series_id,omitempty"` + // Required. The TensorboardTimeSeries to create. + TensorboardTimeSeries *TensorboardTimeSeries `protobuf:"bytes,2,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` +} + +func (x *CreateTensorboardTimeSeriesRequest) Reset() { + *x = CreateTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *CreateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[28] + 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 CreateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*CreateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{28} +} + +func (x *CreateTensorboardTimeSeriesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateTensorboardTimeSeriesRequest) GetTensorboardTimeSeriesId() string { + if x != nil { + return x.TensorboardTimeSeriesId + } + return "" +} + +func (x *CreateTensorboardTimeSeriesRequest) GetTensorboardTimeSeries() *TensorboardTimeSeries { + if x != nil { + return x.TensorboardTimeSeries + } + return nil +} + +// Request message for +// [TensorboardService.GetTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries]. +type GetTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardTimeSeries resource. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetTensorboardTimeSeriesRequest) Reset() { + *x = GetTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *GetTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[29] + 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 GetTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*GetTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{29} +} + +func (x *GetTensorboardTimeSeriesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.ListTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. +type ListTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardRun to list + // TensorboardTimeSeries. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Lists the TensorboardTimeSeries that match the filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of TensorboardTimeSeries to return. The service may + // return fewer than this value. If unspecified, at most 50 + // TensorboardTimeSeries are returned. The maximum value is 1000; values + // above 1000 are coerced to 1000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [TensorboardService.ListTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [TensorboardService.ListTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Field to use to sort the list. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Mask specifying which fields to read. + ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` +} + +func (x *ListTensorboardTimeSeriesRequest) Reset() { + *x = ListTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *ListTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[30] + 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 ListTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*ListTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListTensorboardTimeSeriesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListTensorboardTimeSeriesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListTensorboardTimeSeriesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListTensorboardTimeSeriesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListTensorboardTimeSeriesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListTensorboardTimeSeriesRequest) GetReadMask() *field_mask.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +// Response message for +// [TensorboardService.ListTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries]. +type ListTensorboardTimeSeriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The TensorboardTimeSeries mathching the request. + TensorboardTimeSeries []*TensorboardTimeSeries `protobuf:"bytes,1,rep,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` + // A token, which can be sent as + // [ListTensorboardTimeSeriesRequest.page_token][mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListTensorboardTimeSeriesResponse) Reset() { + *x = ListTensorboardTimeSeriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListTensorboardTimeSeriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTensorboardTimeSeriesResponse) ProtoMessage() {} + +func (x *ListTensorboardTimeSeriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[31] + 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 ListTensorboardTimeSeriesResponse.ProtoReflect.Descriptor instead. +func (*ListTensorboardTimeSeriesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{31} +} + +func (x *ListTensorboardTimeSeriesResponse) GetTensorboardTimeSeries() []*TensorboardTimeSeries { + if x != nil { + return x.TensorboardTimeSeries + } + return nil +} + +func (x *ListTensorboardTimeSeriesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [TensorboardService.UpdateTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries]. +type UpdateTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // TensorboardTimeSeries resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field is overwritten if it's in the mask. If the + // user does not provide a mask then all fields are overwritten if new + // values are specified. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The TensorboardTimeSeries' `name` field is used to identify the + // TensorboardTimeSeries to be updated. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TensorboardTimeSeries *TensorboardTimeSeries `protobuf:"bytes,2,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` +} + +func (x *UpdateTensorboardTimeSeriesRequest) Reset() { + *x = UpdateTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *UpdateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[32] + 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 UpdateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*UpdateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{32} +} + +func (x *UpdateTensorboardTimeSeriesRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateTensorboardTimeSeriesRequest) GetTensorboardTimeSeries() *TensorboardTimeSeries { + if x != nil { + return x.TensorboardTimeSeries + } + return nil +} + +// Request message for +// [TensorboardService.DeleteTensorboardTimeSeries][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries]. +type DeleteTensorboardTimeSeriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the TensorboardTimeSeries to be deleted. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteTensorboardTimeSeriesRequest) Reset() { + *x = DeleteTensorboardTimeSeriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteTensorboardTimeSeriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteTensorboardTimeSeriesRequest) ProtoMessage() {} + +func (x *DeleteTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[33] + 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 DeleteTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. +func (*DeleteTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{33} +} + +func (x *DeleteTensorboardTimeSeriesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +type BatchReadTensorboardTimeSeriesDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Tensorboard containing + // TensorboardTimeSeries to read data from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. + // The TensorboardTimeSeries referenced by + // [time_series][mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataRequest.time_series] + // must be sub resources of this Tensorboard. + Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` + // Required. The resource names of the TensorboardTimeSeries to read data + // from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TimeSeries []string `protobuf:"bytes,2,rep,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"` +} + +func (x *BatchReadTensorboardTimeSeriesDataRequest) Reset() { + *x = BatchReadTensorboardTimeSeriesDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadTensorboardTimeSeriesDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadTensorboardTimeSeriesDataRequest) ProtoMessage() {} + +func (x *BatchReadTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[34] + 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 BatchReadTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. +func (*BatchReadTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{34} +} + +func (x *BatchReadTensorboardTimeSeriesDataRequest) GetTensorboard() string { + if x != nil { + return x.Tensorboard + } + return "" +} + +func (x *BatchReadTensorboardTimeSeriesDataRequest) GetTimeSeries() []string { + if x != nil { + return x.TimeSeries + } + return nil +} + +// Response message for +// [TensorboardService.BatchReadTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData]. +type BatchReadTensorboardTimeSeriesDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The returned time series data. + TimeSeriesData []*TimeSeriesData `protobuf:"bytes,1,rep,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` +} + +func (x *BatchReadTensorboardTimeSeriesDataResponse) Reset() { + *x = BatchReadTensorboardTimeSeriesDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchReadTensorboardTimeSeriesDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchReadTensorboardTimeSeriesDataResponse) ProtoMessage() {} + +func (x *BatchReadTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[35] + 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 BatchReadTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. +func (*BatchReadTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{35} +} + +func (x *BatchReadTensorboardTimeSeriesDataResponse) GetTimeSeriesData() []*TimeSeriesData { + if x != nil { + return x.TimeSeriesData + } + return nil +} + +// Request message for +// [TensorboardService.ReadTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. +type ReadTensorboardTimeSeriesDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardTimeSeries to read data from. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TensorboardTimeSeries string `protobuf:"bytes,1,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` + // The maximum number of TensorboardTimeSeries' data to return. + // + // This value should be a positive integer. + // This value can be set to -1 to return all data. + MaxDataPoints int32 `protobuf:"varint,2,opt,name=max_data_points,json=maxDataPoints,proto3" json:"max_data_points,omitempty"` + // Reads the TensorboardTimeSeries' data that match the filter expression. + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ReadTensorboardTimeSeriesDataRequest) Reset() { + *x = ReadTensorboardTimeSeriesDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardTimeSeriesDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardTimeSeriesDataRequest) ProtoMessage() {} + +func (x *ReadTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[36] + 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 ReadTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. +func (*ReadTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{36} +} + +func (x *ReadTensorboardTimeSeriesDataRequest) GetTensorboardTimeSeries() string { + if x != nil { + return x.TensorboardTimeSeries + } + return "" +} + +func (x *ReadTensorboardTimeSeriesDataRequest) GetMaxDataPoints() int32 { + if x != nil { + return x.MaxDataPoints + } + return 0 +} + +func (x *ReadTensorboardTimeSeriesDataRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Response message for +// [TensorboardService.ReadTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData]. +type ReadTensorboardTimeSeriesDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The returned time series data. + TimeSeriesData *TimeSeriesData `protobuf:"bytes,1,opt,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` +} + +func (x *ReadTensorboardTimeSeriesDataResponse) Reset() { + *x = ReadTensorboardTimeSeriesDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardTimeSeriesDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardTimeSeriesDataResponse) ProtoMessage() {} + +func (x *ReadTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[37] + 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 ReadTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. +func (*ReadTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{37} +} + +func (x *ReadTensorboardTimeSeriesDataResponse) GetTimeSeriesData() *TimeSeriesData { + if x != nil { + return x.TimeSeriesData + } + return nil +} + +// Request message for +// [TensorboardService.WriteTensorboardExperimentData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData]. +type WriteTensorboardExperimentDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardExperiment to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` + TensorboardExperiment string `protobuf:"bytes,1,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` + // Required. Requests containing per-run TensorboardTimeSeries data to write. + WriteRunDataRequests []*WriteTensorboardRunDataRequest `protobuf:"bytes,2,rep,name=write_run_data_requests,json=writeRunDataRequests,proto3" json:"write_run_data_requests,omitempty"` +} + +func (x *WriteTensorboardExperimentDataRequest) Reset() { + *x = WriteTensorboardExperimentDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTensorboardExperimentDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTensorboardExperimentDataRequest) ProtoMessage() {} + +func (x *WriteTensorboardExperimentDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[38] + 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 WriteTensorboardExperimentDataRequest.ProtoReflect.Descriptor instead. +func (*WriteTensorboardExperimentDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{38} +} + +func (x *WriteTensorboardExperimentDataRequest) GetTensorboardExperiment() string { + if x != nil { + return x.TensorboardExperiment + } + return "" +} + +func (x *WriteTensorboardExperimentDataRequest) GetWriteRunDataRequests() []*WriteTensorboardRunDataRequest { + if x != nil { + return x.WriteRunDataRequests + } + return nil +} + +// Response message for +// [TensorboardService.WriteTensorboardExperimentData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData]. +type WriteTensorboardExperimentDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *WriteTensorboardExperimentDataResponse) Reset() { + *x = WriteTensorboardExperimentDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTensorboardExperimentDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTensorboardExperimentDataResponse) ProtoMessage() {} + +func (x *WriteTensorboardExperimentDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[39] + 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 WriteTensorboardExperimentDataResponse.ProtoReflect.Descriptor instead. +func (*WriteTensorboardExperimentDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{39} +} + +// Request message for +// [TensorboardService.WriteTensorboardRunData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. +type WriteTensorboardRunDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardRun to write data to. + // Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` + TensorboardRun string `protobuf:"bytes,1,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` + // Required. The TensorboardTimeSeries data to write. + // Values with in a time series are indexed by their step value. + // Repeated writes to the same step will overwrite the existing value for that + // step. + // The upper limit of data points per write request is 5000. + TimeSeriesData []*TimeSeriesData `protobuf:"bytes,2,rep,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` +} + +func (x *WriteTensorboardRunDataRequest) Reset() { + *x = WriteTensorboardRunDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTensorboardRunDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTensorboardRunDataRequest) ProtoMessage() {} + +func (x *WriteTensorboardRunDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[40] + 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 WriteTensorboardRunDataRequest.ProtoReflect.Descriptor instead. +func (*WriteTensorboardRunDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{40} +} + +func (x *WriteTensorboardRunDataRequest) GetTensorboardRun() string { + if x != nil { + return x.TensorboardRun + } + return "" +} + +func (x *WriteTensorboardRunDataRequest) GetTimeSeriesData() []*TimeSeriesData { + if x != nil { + return x.TimeSeriesData + } + return nil +} + +// Response message for +// [TensorboardService.WriteTensorboardRunData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData]. +type WriteTensorboardRunDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *WriteTensorboardRunDataResponse) Reset() { + *x = WriteTensorboardRunDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteTensorboardRunDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteTensorboardRunDataResponse) ProtoMessage() {} + +func (x *WriteTensorboardRunDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[41] + 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 WriteTensorboardRunDataResponse.ProtoReflect.Descriptor instead. +func (*WriteTensorboardRunDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{41} +} + +// Request message for +// [TensorboardService.ExportTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. +type ExportTensorboardTimeSeriesDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the TensorboardTimeSeries to export data + // from. Format: + // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` + TensorboardTimeSeries string `protobuf:"bytes,1,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` + // Exports the TensorboardTimeSeries' data that match the filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The maximum number of data points to return per page. + // The default page_size is 1000. Values must be between 1 and 10000. + // Values above 10000 are coerced to 10000. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // [ExportTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [ExportTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData] + // must match the call that provided the page token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Field to use to sort the TensorboardTimeSeries' data. + // By default, TensorboardTimeSeries' data is returned in a pseudo random + // order. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ExportTensorboardTimeSeriesDataRequest) Reset() { + *x = ExportTensorboardTimeSeriesDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportTensorboardTimeSeriesDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportTensorboardTimeSeriesDataRequest) ProtoMessage() {} + +func (x *ExportTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[42] + 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 ExportTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. +func (*ExportTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{42} +} + +func (x *ExportTensorboardTimeSeriesDataRequest) GetTensorboardTimeSeries() string { + if x != nil { + return x.TensorboardTimeSeries + } + return "" +} + +func (x *ExportTensorboardTimeSeriesDataRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ExportTensorboardTimeSeriesDataRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ExportTensorboardTimeSeriesDataRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ExportTensorboardTimeSeriesDataRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [TensorboardService.ExportTensorboardTimeSeriesData][mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData]. +type ExportTensorboardTimeSeriesDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The returned time series data points. + TimeSeriesDataPoints []*TimeSeriesDataPoint `protobuf:"bytes,1,rep,name=time_series_data_points,json=timeSeriesDataPoints,proto3" json:"time_series_data_points,omitempty"` + // A token, which can be sent as + // [page_token][mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ExportTensorboardTimeSeriesDataResponse) Reset() { + *x = ExportTensorboardTimeSeriesDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportTensorboardTimeSeriesDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportTensorboardTimeSeriesDataResponse) ProtoMessage() {} + +func (x *ExportTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[43] + 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 ExportTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. +func (*ExportTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{43} +} + +func (x *ExportTensorboardTimeSeriesDataResponse) GetTimeSeriesDataPoints() []*TimeSeriesDataPoint { + if x != nil { + return x.TimeSeriesDataPoints + } + return nil +} + +func (x *ExportTensorboardTimeSeriesDataResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Details of operations that perform create Tensorboard. +type CreateTensorboardOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Tensorboard. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateTensorboardOperationMetadata) Reset() { + *x = CreateTensorboardOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTensorboardOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTensorboardOperationMetadata) ProtoMessage() {} + +func (x *CreateTensorboardOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[44] + 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 CreateTensorboardOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateTensorboardOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{44} +} + +func (x *CreateTensorboardOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Details of operations that perform update Tensorboard. +type UpdateTensorboardOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for Tensorboard. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateTensorboardOperationMetadata) Reset() { + *x = UpdateTensorboardOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateTensorboardOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTensorboardOperationMetadata) ProtoMessage() {} + +func (x *UpdateTensorboardOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[45] + 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 UpdateTensorboardOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateTensorboardOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{45} +} + +func (x *UpdateTensorboardOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Per user usage data. +type ReadTensorboardUsageResponse_PerUserUsageData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // User's username + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // Number of times the user has read data within the Tensorboard. + ViewCount int64 `protobuf:"varint,2,opt,name=view_count,json=viewCount,proto3" json:"view_count,omitempty"` +} + +func (x *ReadTensorboardUsageResponse_PerUserUsageData) Reset() { + *x = ReadTensorboardUsageResponse_PerUserUsageData{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardUsageResponse_PerUserUsageData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardUsageResponse_PerUserUsageData) ProtoMessage() {} + +func (x *ReadTensorboardUsageResponse_PerUserUsageData) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[46] + 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 ReadTensorboardUsageResponse_PerUserUsageData.ProtoReflect.Descriptor instead. +func (*ReadTensorboardUsageResponse_PerUserUsageData) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{7, 0} +} + +func (x *ReadTensorboardUsageResponse_PerUserUsageData) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ReadTensorboardUsageResponse_PerUserUsageData) GetViewCount() int64 { + if x != nil { + return x.ViewCount + } + return 0 +} + +// Per month usage data +type ReadTensorboardUsageResponse_PerMonthUsageData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Usage data for each user in the given month. + UserUsageData []*ReadTensorboardUsageResponse_PerUserUsageData `protobuf:"bytes,1,rep,name=user_usage_data,json=userUsageData,proto3" json:"user_usage_data,omitempty"` +} + +func (x *ReadTensorboardUsageResponse_PerMonthUsageData) Reset() { + *x = ReadTensorboardUsageResponse_PerMonthUsageData{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReadTensorboardUsageResponse_PerMonthUsageData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadTensorboardUsageResponse_PerMonthUsageData) ProtoMessage() {} + +func (x *ReadTensorboardUsageResponse_PerMonthUsageData) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[47] + 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 ReadTensorboardUsageResponse_PerMonthUsageData.ProtoReflect.Descriptor instead. +func (*ReadTensorboardUsageResponse_PerMonthUsageData) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP(), []int{7, 1} +} + +func (x *ReadTensorboardUsageResponse_PerMonthUsageData) GetUserUsageData() []*ReadTensorboardUsageResponse_PerUserUsageData { + if x != nil { + return x.UserUsageData + } + return nil +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDesc = []byte{ + 0x0a, 0x3a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x30, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x36, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 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, 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, 0x22, 0xb7, 0x01, 0x0a, 0x18, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, + 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x54, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x88, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, + 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x95, 0x01, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0c, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 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, 0xb2, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x01, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x54, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x5d, 0x0a, 0x18, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x99, 0x04, 0x0a, 0x1c, 0x52, 0x65, 0x61, + 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x12, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x6f, + 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x4d, + 0x0a, 0x10, 0x50, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x8c, 0x01, + 0x0a, 0x11, 0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x77, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, + 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x75, + 0x73, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x95, 0x01, 0x0a, + 0x15, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x66, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, + 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x22, 0x49, 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x22, 0xa6, + 0x02, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x19, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, + 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x02, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, + 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xbe, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, + 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 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, 0xdb, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 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, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, + 0x12, 0x73, 0x0a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x71, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x21, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x5e, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, + 0x81, 0x01, 0x0a, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, + 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x31, 0x0a, + 0x12, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x49, 0x64, + 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x6a, 0x0a, 0x1f, 0x52, 0x65, + 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, + 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x52, + 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa2, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x52, 0x75, 0x6e, 0x52, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x52, 0x75, 0x6e, 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, 0xbf, 0x01, 0x0a, + 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5e, + 0x0a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x22, 0x63, + 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x65, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xad, 0x02, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, + 0x1a, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, + 0x74, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x31, 0x12, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0xbc, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 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, 0xdc, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x74, 0x0a, 0x17, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x22, 0x71, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x29, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, + 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, + 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x88, 0x01, + 0x0a, 0x2a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x10, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x61, + 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, + 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x22, 0x83, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x10, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, 0x95, 0x02, 0x0a, 0x25, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x7c, 0x0a, 0x17, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x22, 0x28, 0x0a, 0x26, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdc, 0x01, 0x0a, 0x1e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, + 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x0e, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, 0x21, 0x0a, 0x1f, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, + 0x26, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, + 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 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, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xbf, 0x01, 0x0a, 0x27, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x14, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 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, 0x8b, 0x01, 0x0a, 0x22, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x65, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8b, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x65, + 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xfa, 0x41, 0x0a, 0x12, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x84, 0x02, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 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, 0x93, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x3a, 0x0b, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0xca, + 0x41, 0x31, 0x0a, 0x0b, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, + 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xbe, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x44, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x95, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 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, 0xa4, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x32, 0x41, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0xda, 0x41, + 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x31, 0x0a, 0x0b, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd1, 0x01, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x12, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0xe7, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 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, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf3, 0x01, 0x0a, 0x14, 0x52, + 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x55, 0x73, 0x61, + 0x67, 0x65, 0xda, 0x41, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x12, 0xef, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, + 0x53, 0x69, 0x7a, 0x65, 0xda, 0x41, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x12, 0xbc, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x3a, + 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x37, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x12, 0xea, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x41, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbe, + 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x44, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9f, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x32, 0x5a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0xda, 0x41, 0x22, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, + 0xfd, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x43, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x45, 0x12, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x8a, 0x02, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 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, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x99, 0x02, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x22, 0x8f, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x22, + 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x0f, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0xda, 0x41, 0x29, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x9c, 0x02, 0x0a, 0x1a, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x22, 0x56, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x3a, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x22, 0x59, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x9b, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, + 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, + 0x22, 0x91, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x32, 0x5a, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0xda, 0x41, 0x1b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xef, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4c, 0x12, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x83, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, + 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 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, 0x8c, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x2a, 0x4a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa9, 0x02, 0x0a, + 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, + 0x22, 0x51, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xb8, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x99, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, + 0x22, 0x57, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x66, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd6, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x22, 0xb7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8a, 0x01, 0x32, 0x6f, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x17, + 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0xda, 0x41, 0x23, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x8e, 0x02, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9e, + 0x02, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 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, 0x99, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x2a, 0x57, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, + 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x9d, 0x02, 0x0a, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, + 0x64, 0xda, 0x41, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, + 0xc4, 0x02, 0x0a, 0x1d, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, + 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x91, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x12, 0x6f, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0xda, 0x41, 0x17, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0xa4, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x61, 0x64, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, + 0x12, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x72, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x30, 0x01, 0x12, 0xcd, 0x02, + 0x0a, 0x1e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x97, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x22, 0x5b, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x2e, 0x74, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xaa, 0x02, + 0x0a, 0x17, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, + 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, + 0x75, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x20, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x02, 0x0a, 0x1f, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x48, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8c, 0x01, 0x22, 0x86, 0x01, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x17, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 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, 0xef, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x54, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, + 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes = make([]protoimpl.MessageInfo, 49) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_goTypes = []interface{}{ + (*CreateTensorboardRequest)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRequest + (*GetTensorboardRequest)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.GetTensorboardRequest + (*ListTensorboardsRequest)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsRequest + (*ListTensorboardsResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsResponse + (*UpdateTensorboardRequest)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRequest + (*DeleteTensorboardRequest)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardRequest + (*ReadTensorboardUsageRequest)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageRequest + (*ReadTensorboardUsageResponse)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse + (*ReadTensorboardSizeRequest)(nil), // 8: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardSizeRequest + (*ReadTensorboardSizeResponse)(nil), // 9: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardSizeResponse + (*CreateTensorboardExperimentRequest)(nil), // 10: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardExperimentRequest + (*GetTensorboardExperimentRequest)(nil), // 11: mockgcp.cloud.aiplatform.v1beta1.GetTensorboardExperimentRequest + (*ListTensorboardExperimentsRequest)(nil), // 12: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest + (*ListTensorboardExperimentsResponse)(nil), // 13: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsResponse + (*UpdateTensorboardExperimentRequest)(nil), // 14: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardExperimentRequest + (*DeleteTensorboardExperimentRequest)(nil), // 15: mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardExperimentRequest + (*BatchCreateTensorboardRunsRequest)(nil), // 16: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsRequest + (*BatchCreateTensorboardRunsResponse)(nil), // 17: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsResponse + (*CreateTensorboardRunRequest)(nil), // 18: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRunRequest + (*GetTensorboardRunRequest)(nil), // 19: mockgcp.cloud.aiplatform.v1beta1.GetTensorboardRunRequest + (*ReadTensorboardBlobDataRequest)(nil), // 20: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardBlobDataRequest + (*ReadTensorboardBlobDataResponse)(nil), // 21: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardBlobDataResponse + (*ListTensorboardRunsRequest)(nil), // 22: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest + (*ListTensorboardRunsResponse)(nil), // 23: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsResponse + (*UpdateTensorboardRunRequest)(nil), // 24: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRunRequest + (*DeleteTensorboardRunRequest)(nil), // 25: mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardRunRequest + (*BatchCreateTensorboardTimeSeriesRequest)(nil), // 26: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesRequest + (*BatchCreateTensorboardTimeSeriesResponse)(nil), // 27: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesResponse + (*CreateTensorboardTimeSeriesRequest)(nil), // 28: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardTimeSeriesRequest + (*GetTensorboardTimeSeriesRequest)(nil), // 29: mockgcp.cloud.aiplatform.v1beta1.GetTensorboardTimeSeriesRequest + (*ListTensorboardTimeSeriesRequest)(nil), // 30: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest + (*ListTensorboardTimeSeriesResponse)(nil), // 31: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesResponse + (*UpdateTensorboardTimeSeriesRequest)(nil), // 32: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardTimeSeriesRequest + (*DeleteTensorboardTimeSeriesRequest)(nil), // 33: mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardTimeSeriesRequest + (*BatchReadTensorboardTimeSeriesDataRequest)(nil), // 34: mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataRequest + (*BatchReadTensorboardTimeSeriesDataResponse)(nil), // 35: mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataResponse + (*ReadTensorboardTimeSeriesDataRequest)(nil), // 36: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardTimeSeriesDataRequest + (*ReadTensorboardTimeSeriesDataResponse)(nil), // 37: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardTimeSeriesDataResponse + (*WriteTensorboardExperimentDataRequest)(nil), // 38: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardExperimentDataRequest + (*WriteTensorboardExperimentDataResponse)(nil), // 39: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardExperimentDataResponse + (*WriteTensorboardRunDataRequest)(nil), // 40: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataRequest + (*WriteTensorboardRunDataResponse)(nil), // 41: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataResponse + (*ExportTensorboardTimeSeriesDataRequest)(nil), // 42: mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataRequest + (*ExportTensorboardTimeSeriesDataResponse)(nil), // 43: mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataResponse + (*CreateTensorboardOperationMetadata)(nil), // 44: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata + (*UpdateTensorboardOperationMetadata)(nil), // 45: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardOperationMetadata + (*ReadTensorboardUsageResponse_PerUserUsageData)(nil), // 46: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.PerUserUsageData + (*ReadTensorboardUsageResponse_PerMonthUsageData)(nil), // 47: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.PerMonthUsageData + nil, // 48: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry + (*Tensorboard)(nil), // 49: mockgcp.cloud.aiplatform.v1beta1.Tensorboard + (*field_mask.FieldMask)(nil), // 50: google.protobuf.FieldMask + (*TensorboardExperiment)(nil), // 51: mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + (*TensorboardRun)(nil), // 52: mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + (*TensorboardBlob)(nil), // 53: mockgcp.cloud.aiplatform.v1beta1.TensorboardBlob + (*TensorboardTimeSeries)(nil), // 54: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + (*TimeSeriesData)(nil), // 55: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData + (*TimeSeriesDataPoint)(nil), // 56: mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint + (*GenericOperationMetadata)(nil), // 57: mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*longrunningpb.Operation)(nil), // 58: google.longrunning.Operation +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_depIdxs = []int32{ + 49, // 0: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRequest.tensorboard:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensorboard + 50, // 1: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsRequest.read_mask:type_name -> google.protobuf.FieldMask + 49, // 2: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsResponse.tensorboards:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensorboard + 50, // 3: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRequest.update_mask:type_name -> google.protobuf.FieldMask + 49, // 4: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRequest.tensorboard:type_name -> mockgcp.cloud.aiplatform.v1beta1.Tensorboard + 48, // 5: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.monthly_usage_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry + 51, // 6: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardExperimentRequest.tensorboard_experiment:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 50, // 7: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest.read_mask:type_name -> google.protobuf.FieldMask + 51, // 8: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsResponse.tensorboard_experiments:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 50, // 9: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardExperimentRequest.update_mask:type_name -> google.protobuf.FieldMask + 51, // 10: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardExperimentRequest.tensorboard_experiment:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 18, // 11: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsRequest.requests:type_name -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRunRequest + 52, // 12: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsResponse.tensorboard_runs:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 52, // 13: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRunRequest.tensorboard_run:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 53, // 14: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardBlobDataResponse.blobs:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardBlob + 50, // 15: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest.read_mask:type_name -> google.protobuf.FieldMask + 52, // 16: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsResponse.tensorboard_runs:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 50, // 17: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRunRequest.update_mask:type_name -> google.protobuf.FieldMask + 52, // 18: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRunRequest.tensorboard_run:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 28, // 19: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesRequest.requests:type_name -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardTimeSeriesRequest + 54, // 20: mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesResponse.tensorboard_time_series:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 54, // 21: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardTimeSeriesRequest.tensorboard_time_series:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 50, // 22: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest.read_mask:type_name -> google.protobuf.FieldMask + 54, // 23: mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesResponse.tensorboard_time_series:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 50, // 24: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardTimeSeriesRequest.update_mask:type_name -> google.protobuf.FieldMask + 54, // 25: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardTimeSeriesRequest.tensorboard_time_series:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 55, // 26: mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataResponse.time_series_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData + 55, // 27: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardTimeSeriesDataResponse.time_series_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData + 40, // 28: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardExperimentDataRequest.write_run_data_requests:type_name -> mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataRequest + 55, // 29: mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataRequest.time_series_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.TimeSeriesData + 56, // 30: mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataResponse.time_series_data_points:type_name -> mockgcp.cloud.aiplatform.v1beta1.TimeSeriesDataPoint + 57, // 31: mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 57, // 32: mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardOperationMetadata.generic_metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.GenericOperationMetadata + 46, // 33: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.PerMonthUsageData.user_usage_data:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.PerUserUsageData + 47, // 34: mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry.value:type_name -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse.PerMonthUsageData + 0, // 35: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRequest + 1, // 36: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetTensorboardRequest + 4, // 37: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRequest + 2, // 38: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsRequest + 5, // 39: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardRequest + 6, // 40: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageRequest + 8, // 41: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardSizeRequest + 10, // 42: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardExperimentRequest + 11, // 43: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetTensorboardExperimentRequest + 14, // 44: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardExperimentRequest + 12, // 45: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsRequest + 15, // 46: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardExperimentRequest + 18, // 47: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardRunRequest + 16, // 48: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsRequest + 19, // 49: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetTensorboardRunRequest + 24, // 50: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardRunRequest + 22, // 51: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsRequest + 25, // 52: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardRunRequest + 26, // 53: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesRequest + 28, // 54: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.CreateTensorboardTimeSeriesRequest + 29, // 55: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.GetTensorboardTimeSeriesRequest + 32, // 56: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.UpdateTensorboardTimeSeriesRequest + 30, // 57: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesRequest + 33, // 58: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries:input_type -> mockgcp.cloud.aiplatform.v1beta1.DeleteTensorboardTimeSeriesRequest + 34, // 59: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData:input_type -> mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataRequest + 36, // 60: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardTimeSeriesDataRequest + 20, // 61: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData:input_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardBlobDataRequest + 38, // 62: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData:input_type -> mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardExperimentDataRequest + 40, // 63: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData:input_type -> mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataRequest + 42, // 64: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData:input_type -> mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataRequest + 58, // 65: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard:output_type -> google.longrunning.Operation + 49, // 66: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard:output_type -> mockgcp.cloud.aiplatform.v1beta1.Tensorboard + 58, // 67: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard:output_type -> google.longrunning.Operation + 3, // 68: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardsResponse + 58, // 69: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard:output_type -> google.longrunning.Operation + 7, // 70: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardUsageResponse + 9, // 71: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardSizeResponse + 51, // 72: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 51, // 73: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 51, // 74: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardExperiment + 13, // 75: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardExperimentsResponse + 58, // 76: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment:output_type -> google.longrunning.Operation + 52, // 77: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 17, // 78: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardRunsResponse + 52, // 79: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 52, // 80: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardRun + 23, // 81: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardRunsResponse + 58, // 82: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun:output_type -> google.longrunning.Operation + 27, // 83: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchCreateTensorboardTimeSeriesResponse + 54, // 84: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 54, // 85: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 54, // 86: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries:output_type -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + 31, // 87: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries:output_type -> mockgcp.cloud.aiplatform.v1beta1.ListTensorboardTimeSeriesResponse + 58, // 88: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries:output_type -> google.longrunning.Operation + 35, // 89: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData:output_type -> mockgcp.cloud.aiplatform.v1beta1.BatchReadTensorboardTimeSeriesDataResponse + 37, // 90: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardTimeSeriesDataResponse + 21, // 91: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardBlobData:output_type -> mockgcp.cloud.aiplatform.v1beta1.ReadTensorboardBlobDataResponse + 39, // 92: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData:output_type -> mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardExperimentDataResponse + 41, // 93: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData:output_type -> mockgcp.cloud.aiplatform.v1beta1.WriteTensorboardRunDataResponse + 43, // 94: mockgcp.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData:output_type -> mockgcp.cloud.aiplatform.v1beta1.ExportTensorboardTimeSeriesDataResponse + 65, // [65:95] is the sub-list for method output_type + 35, // [35:65] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_operation_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_data_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_experiment_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_run_proto_init() + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTensorboardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTensorboardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTensorboardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTensorboardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardUsageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardUsageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardSizeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardSizeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTensorboardExperimentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTensorboardExperimentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardExperimentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardExperimentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTensorboardExperimentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTensorboardExperimentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateTensorboardRunsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateTensorboardRunsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTensorboardRunRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTensorboardRunRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardBlobDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardBlobDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardRunsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardRunsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTensorboardRunRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTensorboardRunRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateTensorboardTimeSeriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListTensorboardTimeSeriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteTensorboardTimeSeriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadTensorboardTimeSeriesDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchReadTensorboardTimeSeriesDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardTimeSeriesDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardTimeSeriesDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTensorboardExperimentDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTensorboardExperimentDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTensorboardRunDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteTensorboardRunDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportTensorboardTimeSeriesDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportTensorboardTimeSeriesDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTensorboardOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateTensorboardOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardUsageResponse_PerUserUsageData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReadTensorboardUsageResponse_PerMonthUsageData); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 49, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.gw.go new file mode 100644 index 0000000000..330dfabbeb --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.pb.gw.go @@ -0,0 +1,3649 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.proto + +/* +Package aiplatformpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package aiplatformpb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_TensorboardService_CreateTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Tensorboard); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateTensorboard(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_CreateTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Tensorboard); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateTensorboard(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_GetTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetTensorboard(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_GetTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetTensorboard(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_UpdateTensorboard_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_TensorboardService_UpdateTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Tensorboard); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Tensorboard); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboard_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateTensorboard(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_UpdateTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Tensorboard); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Tensorboard); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboard_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateTensorboard(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ListTensorboards_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ListTensorboards_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboards_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTensorboards(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ListTensorboards_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboards_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListTensorboards(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_DeleteTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteTensorboard(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_DeleteTensorboard_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteTensorboard(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_ReadTensorboardUsage_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardUsageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + msg, err := client.ReadTensorboardUsage(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ReadTensorboardUsage_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardUsageRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + msg, err := server.ReadTensorboardUsage(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_ReadTensorboardSize_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardSizeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + msg, err := client.ReadTensorboardSize(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ReadTensorboardSize_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardSizeRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + msg, err := server.ReadTensorboardSize(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_CreateTensorboardExperiment_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_experiment": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_TensorboardService_CreateTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardExperiment); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardExperiment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateTensorboardExperiment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_CreateTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardExperiment); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardExperiment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateTensorboardExperiment(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_GetTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetTensorboardExperiment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_GetTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetTensorboardExperiment(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_UpdateTensorboardExperiment_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_experiment": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_TensorboardService_UpdateTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardExperiment); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardExperiment); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_experiment.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_experiment.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_experiment.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_experiment.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardExperiment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateTensorboardExperiment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_UpdateTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardExperiment); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardExperiment); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_experiment.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_experiment.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_experiment.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_experiment.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardExperiment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateTensorboardExperiment(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ListTensorboardExperiments_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ListTensorboardExperiments_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardExperimentsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardExperiments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTensorboardExperiments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ListTensorboardExperiments_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardExperimentsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardExperiments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListTensorboardExperiments(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_DeleteTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteTensorboardExperiment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_DeleteTensorboardExperiment_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardExperimentRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteTensorboardExperiment(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_CreateTensorboardRun_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_run": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_TensorboardService_CreateTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardRunRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardRun); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardRun_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateTensorboardRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_CreateTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardRunRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardRun); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardRun_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateTensorboardRun(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_BatchCreateTensorboardRuns_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateTensorboardRunsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateTensorboardRuns(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_BatchCreateTensorboardRuns_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateTensorboardRunsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateTensorboardRuns(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_GetTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardRunRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetTensorboardRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_GetTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardRunRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetTensorboardRun(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_UpdateTensorboardRun_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_run": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_TensorboardService_UpdateTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardRunRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardRun); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardRun); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_run.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_run.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_run.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_run.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardRun_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateTensorboardRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_UpdateTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardRunRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardRun); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardRun); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_run.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_run.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_run.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_run.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardRun_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateTensorboardRun(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ListTensorboardRuns_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ListTensorboardRuns_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardRunsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardRuns_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTensorboardRuns(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ListTensorboardRuns_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardRunsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardRuns_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListTensorboardRuns(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_DeleteTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardRunRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteTensorboardRun(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_DeleteTensorboardRun_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardRunRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteTensorboardRun(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_BatchCreateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_BatchCreateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_CreateTensorboardTimeSeries_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_time_series": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_TensorboardService_CreateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardTimeSeries); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_CreateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardTimeSeries); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_CreateTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_GetTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_GetTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_UpdateTensorboardTimeSeries_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_time_series": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_TensorboardService_UpdateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardTimeSeries); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardTimeSeries); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_time_series.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_UpdateTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.TensorboardTimeSeries); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.TensorboardTimeSeries); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "tensorboard_time_series.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_UpdateTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ListTensorboardTimeSeries_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ListTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ListTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ListTensorboardTimeSeries_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_DeleteTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteTensorboardTimeSeries(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_DeleteTensorboardTimeSeries_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteTensorboardTimeSeriesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteTensorboardTimeSeries(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_BatchReadTensorboardTimeSeriesData_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_BatchReadTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchReadTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_BatchReadTensorboardTimeSeriesData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.BatchReadTensorboardTimeSeriesData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_BatchReadTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchReadTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard") + } + + protoReq.Tensorboard, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_BatchReadTensorboardTimeSeriesData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.BatchReadTensorboardTimeSeriesData(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ReadTensorboardTimeSeriesData_0 = &utilities.DoubleArray{Encoding: map[string]int{"tensorboard_time_series": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ReadTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series") + } + + protoReq.TensorboardTimeSeries, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ReadTensorboardTimeSeriesData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ReadTensorboardTimeSeriesData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ReadTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series") + } + + protoReq.TensorboardTimeSeries, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ReadTensorboardTimeSeriesData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ReadTensorboardTimeSeriesData(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_TensorboardService_ReadTensorboardBlobData_0 = &utilities.DoubleArray{Encoding: map[string]int{"time_series": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_TensorboardService_ReadTensorboardBlobData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (TensorboardService_ReadTensorboardBlobDataClient, runtime.ServerMetadata, error) { + var protoReq ReadTensorboardBlobDataRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["time_series"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "time_series") + } + + protoReq.TimeSeries, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "time_series", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TensorboardService_ReadTensorboardBlobData_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + stream, err := client.ReadTensorboardBlobData(ctx, &protoReq) + if err != nil { + return nil, metadata, err + } + header, err := stream.Header() + if err != nil { + return nil, metadata, err + } + metadata.HeaderMD = header + return stream, metadata, nil + +} + +func request_TensorboardService_WriteTensorboardExperimentData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteTensorboardExperimentDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_experiment"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_experiment") + } + + protoReq.TensorboardExperiment, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_experiment", err) + } + + msg, err := client.WriteTensorboardExperimentData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_WriteTensorboardExperimentData_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteTensorboardExperimentDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_experiment"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_experiment") + } + + protoReq.TensorboardExperiment, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_experiment", err) + } + + msg, err := server.WriteTensorboardExperimentData(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_WriteTensorboardRunData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteTensorboardRunDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_run"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_run") + } + + protoReq.TensorboardRun, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_run", err) + } + + msg, err := client.WriteTensorboardRunData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_WriteTensorboardRunData_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq WriteTensorboardRunDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_run"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_run") + } + + protoReq.TensorboardRun, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_run", err) + } + + msg, err := server.WriteTensorboardRunData(ctx, &protoReq) + return msg, metadata, err + +} + +func request_TensorboardService_ExportTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, client TensorboardServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series") + } + + protoReq.TensorboardTimeSeries, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series", err) + } + + msg, err := client.ExportTensorboardTimeSeriesData(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TensorboardService_ExportTensorboardTimeSeriesData_0(ctx context.Context, marshaler runtime.Marshaler, server TensorboardServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportTensorboardTimeSeriesDataRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["tensorboard_time_series"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "tensorboard_time_series") + } + + protoReq.TensorboardTimeSeries, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "tensorboard_time_series", err) + } + + msg, err := server.ExportTensorboardTimeSeriesData(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterTensorboardServiceHandlerServer registers the http handlers for service TensorboardService to "mux". +// UnaryRPC :call TensorboardServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterTensorboardServiceHandlerFromEndpoint instead. +func RegisterTensorboardServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server TensorboardServiceServer) error { + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/tensorboards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_CreateTensorboard_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_GetTensorboard_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard.name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_UpdateTensorboard_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboards_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboards", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/tensorboards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ListTensorboards_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_DeleteTensorboard_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardUsage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardUsage", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:readUsage")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ReadTensorboardUsage_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardUsage_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardSize_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardSize", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:readSize")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ReadTensorboardSize_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardSize_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_CreateTensorboardExperiment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_GetTensorboardExperiment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_experiment.name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_UpdateTensorboardExperiment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardExperiments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardExperiments", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ListTensorboardExperiments_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardExperiments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_DeleteTensorboardExperiment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_CreateTensorboardRun_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_BatchCreateTensorboardRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardRuns", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_BatchCreateTensorboardRuns_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchCreateTensorboardRuns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_GetTensorboardRun_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_run.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_UpdateTensorboardRun_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardRuns", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ListTensorboardRuns_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardRuns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_DeleteTensorboardRun_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_BatchCreateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_BatchCreateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchCreateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_CreateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_GetTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_UpdateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ListTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_DeleteTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_BatchReadTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchReadTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:batchRead")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_BatchReadTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchReadTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:read")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ReadTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardBlobData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + err := status.Error(codes.Unimplemented, "streaming calls are not yet supported in the in-process transport") + _, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + }) + + mux.Handle("POST", pattern_TensorboardService_WriteTensorboardExperimentData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardExperimentData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_experiment=projects/*/locations/*/tensorboards/*/experiments/*}:write")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_WriteTensorboardExperimentData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_WriteTensorboardExperimentData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_WriteTensorboardRunData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardRunData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_run=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}:write")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_WriteTensorboardRunData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_WriteTensorboardRunData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_ExportTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ExportTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:exportTensorboardTimeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TensorboardService_ExportTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ExportTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterTensorboardServiceHandlerFromEndpoint is same as RegisterTensorboardServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterTensorboardServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterTensorboardServiceHandler(ctx, mux, conn) +} + +// RegisterTensorboardServiceHandler registers the http handlers for service TensorboardService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterTensorboardServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterTensorboardServiceHandlerClient(ctx, mux, NewTensorboardServiceClient(conn)) +} + +// RegisterTensorboardServiceHandlerClient registers the http handlers for service TensorboardService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TensorboardServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TensorboardServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "TensorboardServiceClient" to call the correct interceptors. +func RegisterTensorboardServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TensorboardServiceClient) error { + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/tensorboards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_CreateTensorboard_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_GetTensorboard_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard.name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_UpdateTensorboard_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboards_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboards", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*}/tensorboards")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ListTensorboards_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboards_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboard_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboard", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_DeleteTensorboard_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboard_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardUsage_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardUsage", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:readUsage")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ReadTensorboardUsage_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardUsage_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardSize_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardSize", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:readSize")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ReadTensorboardSize_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardSize_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_CreateTensorboardExperiment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_GetTensorboardExperiment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_experiment.name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_UpdateTensorboardExperiment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardExperiments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardExperiments", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*}/experiments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ListTensorboardExperiments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardExperiments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardExperiment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardExperiment", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_DeleteTensorboardExperiment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardExperiment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_CreateTensorboardRun_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_BatchCreateTensorboardRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardRuns", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_BatchCreateTensorboardRuns_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchCreateTensorboardRuns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_GetTensorboardRun_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_run.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_UpdateTensorboardRun_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardRuns_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardRuns", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}/runs")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ListTensorboardRuns_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardRuns_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardRun_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardRun", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_DeleteTensorboardRun_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardRun_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_BatchCreateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*}:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_BatchCreateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchCreateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_CreateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_CreateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_CreateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_GetTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_GetTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_GetTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_TensorboardService_UpdateTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series.name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_UpdateTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_UpdateTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ListTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{parent=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/timeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ListTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ListTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_TensorboardService_DeleteTensorboardTimeSeries_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardTimeSeries", runtime.WithHTTPPathPattern("/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_DeleteTensorboardTimeSeries_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_DeleteTensorboardTimeSeries_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_BatchReadTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchReadTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard=projects/*/locations/*/tensorboards/*}:batchRead")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_BatchReadTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_BatchReadTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:read")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ReadTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_TensorboardService_ReadTensorboardBlobData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardBlobData", runtime.WithHTTPPathPattern("/v1beta1/{time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:readBlobData")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ReadTensorboardBlobData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ReadTensorboardBlobData_0(annotatedContext, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_WriteTensorboardExperimentData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardExperimentData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_experiment=projects/*/locations/*/tensorboards/*/experiments/*}:write")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_WriteTensorboardExperimentData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_WriteTensorboardExperimentData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_WriteTensorboardRunData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardRunData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_run=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}:write")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_WriteTensorboardRunData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_WriteTensorboardRunData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_TensorboardService_ExportTensorboardTimeSeriesData_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ExportTensorboardTimeSeriesData", runtime.WithHTTPPathPattern("/v1beta1/{tensorboard_time_series=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}:exportTensorboardTimeSeries")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TensorboardService_ExportTensorboardTimeSeriesData_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TensorboardService_ExportTensorboardTimeSeriesData_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_TensorboardService_CreateTensorboard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "tensorboards"}, "")) + + pattern_TensorboardService_GetTensorboard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "name"}, "")) + + pattern_TensorboardService_UpdateTensorboard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "tensorboard.name"}, "")) + + pattern_TensorboardService_ListTensorboards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1beta1", "projects", "locations", "parent", "tensorboards"}, "")) + + pattern_TensorboardService_DeleteTensorboard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "name"}, "")) + + pattern_TensorboardService_ReadTensorboardUsage_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "tensorboard"}, "readUsage")) + + pattern_TensorboardService_ReadTensorboardSize_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "tensorboard"}, "readSize")) + + pattern_TensorboardService_CreateTensorboardExperiment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "parent", "experiments"}, "")) + + pattern_TensorboardService_GetTensorboardExperiment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "name"}, "")) + + pattern_TensorboardService_UpdateTensorboardExperiment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "tensorboard_experiment.name"}, "")) + + pattern_TensorboardService_ListTensorboardExperiments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "parent", "experiments"}, "")) + + pattern_TensorboardService_DeleteTensorboardExperiment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "name"}, "")) + + pattern_TensorboardService_CreateTensorboardRun_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "parent", "runs"}, "")) + + pattern_TensorboardService_BatchCreateTensorboardRuns_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "parent", "runs"}, "batchCreate")) + + pattern_TensorboardService_GetTensorboardRun_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "name"}, "")) + + pattern_TensorboardService_UpdateTensorboardRun_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "tensorboard_run.name"}, "")) + + pattern_TensorboardService_ListTensorboardRuns_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5, 2, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "parent", "runs"}, "")) + + pattern_TensorboardService_DeleteTensorboardRun_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "name"}, "")) + + pattern_TensorboardService_BatchCreateTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "parent"}, "batchCreate")) + + pattern_TensorboardService_CreateTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6, 2, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "parent", "timeSeries"}, "")) + + pattern_TensorboardService_GetTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "name"}, "")) + + pattern_TensorboardService_UpdateTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "tensorboard_time_series.name"}, "")) + + pattern_TensorboardService_ListTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6, 2, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "parent", "timeSeries"}, "")) + + pattern_TensorboardService_DeleteTensorboardTimeSeries_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "name"}, "")) + + pattern_TensorboardService_BatchReadTensorboardTimeSeriesData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1beta1", "projects", "locations", "tensorboards", "tensorboard"}, "batchRead")) + + pattern_TensorboardService_ReadTensorboardTimeSeriesData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "tensorboard_time_series"}, "read")) + + pattern_TensorboardService_ReadTensorboardBlobData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "time_series"}, "readBlobData")) + + pattern_TensorboardService_WriteTensorboardExperimentData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 4, 8, 5, 5}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "tensorboard_experiment"}, "write")) + + pattern_TensorboardService_WriteTensorboardRunData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 4, 10, 5, 6}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "tensorboard_run"}, "write")) + + pattern_TensorboardService_ExportTensorboardTimeSeriesData_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 2, 4, 1, 0, 2, 5, 1, 0, 2, 6, 1, 0, 4, 12, 5, 7}, []string{"v1beta1", "projects", "locations", "tensorboards", "experiments", "runs", "timeSeries", "tensorboard_time_series"}, "exportTensorboardTimeSeries")) +) + +var ( + forward_TensorboardService_CreateTensorboard_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_GetTensorboard_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_UpdateTensorboard_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ListTensorboards_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_DeleteTensorboard_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ReadTensorboardUsage_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ReadTensorboardSize_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_CreateTensorboardExperiment_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_GetTensorboardExperiment_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_UpdateTensorboardExperiment_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ListTensorboardExperiments_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_DeleteTensorboardExperiment_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_CreateTensorboardRun_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_BatchCreateTensorboardRuns_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_GetTensorboardRun_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_UpdateTensorboardRun_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ListTensorboardRuns_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_DeleteTensorboardRun_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_BatchCreateTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_CreateTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_GetTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_UpdateTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ListTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_DeleteTensorboardTimeSeries_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_BatchReadTensorboardTimeSeriesData_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ReadTensorboardTimeSeriesData_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ReadTensorboardBlobData_0 = runtime.ForwardResponseStream + + forward_TensorboardService_WriteTensorboardExperimentData_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_WriteTensorboardRunData_0 = runtime.ForwardResponseMessage + + forward_TensorboardService_ExportTensorboardTimeSeriesData_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service_grpc.pb.go new file mode 100644 index 0000000000..f9a5e4e05b --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_service_grpc.pb.go @@ -0,0 +1,1266 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.proto + +package aiplatformpb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// TensorboardServiceClient is the client API for TensorboardService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type TensorboardServiceClient interface { + // Creates a Tensorboard. + CreateTensorboard(ctx context.Context, in *CreateTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a Tensorboard. + GetTensorboard(ctx context.Context, in *GetTensorboardRequest, opts ...grpc.CallOption) (*Tensorboard, error) + // Updates a Tensorboard. + UpdateTensorboard(ctx context.Context, in *UpdateTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists Tensorboards in a Location. + ListTensorboards(ctx context.Context, in *ListTensorboardsRequest, opts ...grpc.CallOption) (*ListTensorboardsResponse, error) + // Deletes a Tensorboard. + DeleteTensorboard(ctx context.Context, in *DeleteTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Returns a list of monthly active users for a given TensorBoard instance. + ReadTensorboardUsage(ctx context.Context, in *ReadTensorboardUsageRequest, opts ...grpc.CallOption) (*ReadTensorboardUsageResponse, error) + // Returns the storage size for a given TensorBoard instance. + ReadTensorboardSize(ctx context.Context, in *ReadTensorboardSizeRequest, opts ...grpc.CallOption) (*ReadTensorboardSizeResponse, error) + // Creates a TensorboardExperiment. + CreateTensorboardExperiment(ctx context.Context, in *CreateTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) + // Gets a TensorboardExperiment. + GetTensorboardExperiment(ctx context.Context, in *GetTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) + // Updates a TensorboardExperiment. + UpdateTensorboardExperiment(ctx context.Context, in *UpdateTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) + // Lists TensorboardExperiments in a Location. + ListTensorboardExperiments(ctx context.Context, in *ListTensorboardExperimentsRequest, opts ...grpc.CallOption) (*ListTensorboardExperimentsResponse, error) + // Deletes a TensorboardExperiment. + DeleteTensorboardExperiment(ctx context.Context, in *DeleteTensorboardExperimentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a TensorboardRun. + CreateTensorboardRun(ctx context.Context, in *CreateTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) + // Batch create TensorboardRuns. + BatchCreateTensorboardRuns(ctx context.Context, in *BatchCreateTensorboardRunsRequest, opts ...grpc.CallOption) (*BatchCreateTensorboardRunsResponse, error) + // Gets a TensorboardRun. + GetTensorboardRun(ctx context.Context, in *GetTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) + // Updates a TensorboardRun. + UpdateTensorboardRun(ctx context.Context, in *UpdateTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) + // Lists TensorboardRuns in a Location. + ListTensorboardRuns(ctx context.Context, in *ListTensorboardRunsRequest, opts ...grpc.CallOption) (*ListTensorboardRunsResponse, error) + // Deletes a TensorboardRun. + DeleteTensorboardRun(ctx context.Context, in *DeleteTensorboardRunRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. + BatchCreateTensorboardTimeSeries(ctx context.Context, in *BatchCreateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*BatchCreateTensorboardTimeSeriesResponse, error) + // Creates a TensorboardTimeSeries. + CreateTensorboardTimeSeries(ctx context.Context, in *CreateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) + // Gets a TensorboardTimeSeries. + GetTensorboardTimeSeries(ctx context.Context, in *GetTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) + // Updates a TensorboardTimeSeries. + UpdateTensorboardTimeSeries(ctx context.Context, in *UpdateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) + // Lists TensorboardTimeSeries in a Location. + ListTensorboardTimeSeries(ctx context.Context, in *ListTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*ListTensorboardTimeSeriesResponse, error) + // Deletes a TensorboardTimeSeries. + DeleteTensorboardTimeSeries(ctx context.Context, in *DeleteTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Reads multiple TensorboardTimeSeries' data. The data point number limit is + // 1000 for scalars, 100 for tensors and blob references. If the number of + // data points stored is less than the limit, all data is returned. + // Otherwise, the number limit of data points is randomly selected from + // this time series and returned. + BatchReadTensorboardTimeSeriesData(ctx context.Context, in *BatchReadTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*BatchReadTensorboardTimeSeriesDataResponse, error) + // Reads a TensorboardTimeSeries' data. By default, if the number of data + // points stored is less than 1000, all data is returned. Otherwise, 1000 + // data points is randomly selected from this time series and returned. + // This value can be changed by changing max_data_points, which can't be + // greater than 10k. + ReadTensorboardTimeSeriesData(ctx context.Context, in *ReadTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*ReadTensorboardTimeSeriesDataResponse, error) + // Gets bytes of TensorboardBlobs. + // This is to allow reading blob data stored in consumer project's Cloud + // Storage bucket without users having to obtain Cloud Storage access + // permission. + ReadTensorboardBlobData(ctx context.Context, in *ReadTensorboardBlobDataRequest, opts ...grpc.CallOption) (TensorboardService_ReadTensorboardBlobDataClient, error) + // Write time series data points of multiple TensorboardTimeSeries in multiple + // TensorboardRun's. If any data fail to be ingested, an error is returned. + WriteTensorboardExperimentData(ctx context.Context, in *WriteTensorboardExperimentDataRequest, opts ...grpc.CallOption) (*WriteTensorboardExperimentDataResponse, error) + // Write time series data points into multiple TensorboardTimeSeries under + // a TensorboardRun. If any data fail to be ingested, an error is returned. + WriteTensorboardRunData(ctx context.Context, in *WriteTensorboardRunDataRequest, opts ...grpc.CallOption) (*WriteTensorboardRunDataResponse, error) + // Exports a TensorboardTimeSeries' data. Data is returned in paginated + // responses. + ExportTensorboardTimeSeriesData(ctx context.Context, in *ExportTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*ExportTensorboardTimeSeriesDataResponse, error) +} + +type tensorboardServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewTensorboardServiceClient(cc grpc.ClientConnInterface) TensorboardServiceClient { + return &tensorboardServiceClient{cc} +} + +func (c *tensorboardServiceClient) CreateTensorboard(ctx context.Context, in *CreateTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) GetTensorboard(ctx context.Context, in *GetTensorboardRequest, opts ...grpc.CallOption) (*Tensorboard, error) { + out := new(Tensorboard) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) UpdateTensorboard(ctx context.Context, in *UpdateTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ListTensorboards(ctx context.Context, in *ListTensorboardsRequest, opts ...grpc.CallOption) (*ListTensorboardsResponse, error) { + out := new(ListTensorboardsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboards", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) DeleteTensorboard(ctx context.Context, in *DeleteTensorboardRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ReadTensorboardUsage(ctx context.Context, in *ReadTensorboardUsageRequest, opts ...grpc.CallOption) (*ReadTensorboardUsageResponse, error) { + out := new(ReadTensorboardUsageResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardUsage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ReadTensorboardSize(ctx context.Context, in *ReadTensorboardSizeRequest, opts ...grpc.CallOption) (*ReadTensorboardSizeResponse, error) { + out := new(ReadTensorboardSizeResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardSize", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) CreateTensorboardExperiment(ctx context.Context, in *CreateTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) { + out := new(TensorboardExperiment) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardExperiment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) GetTensorboardExperiment(ctx context.Context, in *GetTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) { + out := new(TensorboardExperiment) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardExperiment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) UpdateTensorboardExperiment(ctx context.Context, in *UpdateTensorboardExperimentRequest, opts ...grpc.CallOption) (*TensorboardExperiment, error) { + out := new(TensorboardExperiment) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardExperiment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ListTensorboardExperiments(ctx context.Context, in *ListTensorboardExperimentsRequest, opts ...grpc.CallOption) (*ListTensorboardExperimentsResponse, error) { + out := new(ListTensorboardExperimentsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardExperiments", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) DeleteTensorboardExperiment(ctx context.Context, in *DeleteTensorboardExperimentRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardExperiment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) CreateTensorboardRun(ctx context.Context, in *CreateTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) { + out := new(TensorboardRun) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardRun", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) BatchCreateTensorboardRuns(ctx context.Context, in *BatchCreateTensorboardRunsRequest, opts ...grpc.CallOption) (*BatchCreateTensorboardRunsResponse, error) { + out := new(BatchCreateTensorboardRunsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardRuns", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) GetTensorboardRun(ctx context.Context, in *GetTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) { + out := new(TensorboardRun) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardRun", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) UpdateTensorboardRun(ctx context.Context, in *UpdateTensorboardRunRequest, opts ...grpc.CallOption) (*TensorboardRun, error) { + out := new(TensorboardRun) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardRun", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ListTensorboardRuns(ctx context.Context, in *ListTensorboardRunsRequest, opts ...grpc.CallOption) (*ListTensorboardRunsResponse, error) { + out := new(ListTensorboardRunsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardRuns", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) DeleteTensorboardRun(ctx context.Context, in *DeleteTensorboardRunRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardRun", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) BatchCreateTensorboardTimeSeries(ctx context.Context, in *BatchCreateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*BatchCreateTensorboardTimeSeriesResponse, error) { + out := new(BatchCreateTensorboardTimeSeriesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) CreateTensorboardTimeSeries(ctx context.Context, in *CreateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) { + out := new(TensorboardTimeSeries) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) GetTensorboardTimeSeries(ctx context.Context, in *GetTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) { + out := new(TensorboardTimeSeries) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) UpdateTensorboardTimeSeries(ctx context.Context, in *UpdateTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*TensorboardTimeSeries, error) { + out := new(TensorboardTimeSeries) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ListTensorboardTimeSeries(ctx context.Context, in *ListTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*ListTensorboardTimeSeriesResponse, error) { + out := new(ListTensorboardTimeSeriesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) DeleteTensorboardTimeSeries(ctx context.Context, in *DeleteTensorboardTimeSeriesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardTimeSeries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) BatchReadTensorboardTimeSeriesData(ctx context.Context, in *BatchReadTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*BatchReadTensorboardTimeSeriesDataResponse, error) { + out := new(BatchReadTensorboardTimeSeriesDataResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchReadTensorboardTimeSeriesData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ReadTensorboardTimeSeriesData(ctx context.Context, in *ReadTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*ReadTensorboardTimeSeriesDataResponse, error) { + out := new(ReadTensorboardTimeSeriesDataResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardTimeSeriesData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ReadTensorboardBlobData(ctx context.Context, in *ReadTensorboardBlobDataRequest, opts ...grpc.CallOption) (TensorboardService_ReadTensorboardBlobDataClient, error) { + stream, err := c.cc.NewStream(ctx, &TensorboardService_ServiceDesc.Streams[0], "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardBlobData", opts...) + if err != nil { + return nil, err + } + x := &tensorboardServiceReadTensorboardBlobDataClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type TensorboardService_ReadTensorboardBlobDataClient interface { + Recv() (*ReadTensorboardBlobDataResponse, error) + grpc.ClientStream +} + +type tensorboardServiceReadTensorboardBlobDataClient struct { + grpc.ClientStream +} + +func (x *tensorboardServiceReadTensorboardBlobDataClient) Recv() (*ReadTensorboardBlobDataResponse, error) { + m := new(ReadTensorboardBlobDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *tensorboardServiceClient) WriteTensorboardExperimentData(ctx context.Context, in *WriteTensorboardExperimentDataRequest, opts ...grpc.CallOption) (*WriteTensorboardExperimentDataResponse, error) { + out := new(WriteTensorboardExperimentDataResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardExperimentData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) WriteTensorboardRunData(ctx context.Context, in *WriteTensorboardRunDataRequest, opts ...grpc.CallOption) (*WriteTensorboardRunDataResponse, error) { + out := new(WriteTensorboardRunDataResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardRunData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *tensorboardServiceClient) ExportTensorboardTimeSeriesData(ctx context.Context, in *ExportTensorboardTimeSeriesDataRequest, opts ...grpc.CallOption) (*ExportTensorboardTimeSeriesDataResponse, error) { + out := new(ExportTensorboardTimeSeriesDataResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ExportTensorboardTimeSeriesData", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TensorboardServiceServer is the server API for TensorboardService service. +// All implementations must embed UnimplementedTensorboardServiceServer +// for forward compatibility +type TensorboardServiceServer interface { + // Creates a Tensorboard. + CreateTensorboard(context.Context, *CreateTensorboardRequest) (*longrunningpb.Operation, error) + // Gets a Tensorboard. + GetTensorboard(context.Context, *GetTensorboardRequest) (*Tensorboard, error) + // Updates a Tensorboard. + UpdateTensorboard(context.Context, *UpdateTensorboardRequest) (*longrunningpb.Operation, error) + // Lists Tensorboards in a Location. + ListTensorboards(context.Context, *ListTensorboardsRequest) (*ListTensorboardsResponse, error) + // Deletes a Tensorboard. + DeleteTensorboard(context.Context, *DeleteTensorboardRequest) (*longrunningpb.Operation, error) + // Returns a list of monthly active users for a given TensorBoard instance. + ReadTensorboardUsage(context.Context, *ReadTensorboardUsageRequest) (*ReadTensorboardUsageResponse, error) + // Returns the storage size for a given TensorBoard instance. + ReadTensorboardSize(context.Context, *ReadTensorboardSizeRequest) (*ReadTensorboardSizeResponse, error) + // Creates a TensorboardExperiment. + CreateTensorboardExperiment(context.Context, *CreateTensorboardExperimentRequest) (*TensorboardExperiment, error) + // Gets a TensorboardExperiment. + GetTensorboardExperiment(context.Context, *GetTensorboardExperimentRequest) (*TensorboardExperiment, error) + // Updates a TensorboardExperiment. + UpdateTensorboardExperiment(context.Context, *UpdateTensorboardExperimentRequest) (*TensorboardExperiment, error) + // Lists TensorboardExperiments in a Location. + ListTensorboardExperiments(context.Context, *ListTensorboardExperimentsRequest) (*ListTensorboardExperimentsResponse, error) + // Deletes a TensorboardExperiment. + DeleteTensorboardExperiment(context.Context, *DeleteTensorboardExperimentRequest) (*longrunningpb.Operation, error) + // Creates a TensorboardRun. + CreateTensorboardRun(context.Context, *CreateTensorboardRunRequest) (*TensorboardRun, error) + // Batch create TensorboardRuns. + BatchCreateTensorboardRuns(context.Context, *BatchCreateTensorboardRunsRequest) (*BatchCreateTensorboardRunsResponse, error) + // Gets a TensorboardRun. + GetTensorboardRun(context.Context, *GetTensorboardRunRequest) (*TensorboardRun, error) + // Updates a TensorboardRun. + UpdateTensorboardRun(context.Context, *UpdateTensorboardRunRequest) (*TensorboardRun, error) + // Lists TensorboardRuns in a Location. + ListTensorboardRuns(context.Context, *ListTensorboardRunsRequest) (*ListTensorboardRunsResponse, error) + // Deletes a TensorboardRun. + DeleteTensorboardRun(context.Context, *DeleteTensorboardRunRequest) (*longrunningpb.Operation, error) + // Batch create TensorboardTimeSeries that belong to a TensorboardExperiment. + BatchCreateTensorboardTimeSeries(context.Context, *BatchCreateTensorboardTimeSeriesRequest) (*BatchCreateTensorboardTimeSeriesResponse, error) + // Creates a TensorboardTimeSeries. + CreateTensorboardTimeSeries(context.Context, *CreateTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) + // Gets a TensorboardTimeSeries. + GetTensorboardTimeSeries(context.Context, *GetTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) + // Updates a TensorboardTimeSeries. + UpdateTensorboardTimeSeries(context.Context, *UpdateTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) + // Lists TensorboardTimeSeries in a Location. + ListTensorboardTimeSeries(context.Context, *ListTensorboardTimeSeriesRequest) (*ListTensorboardTimeSeriesResponse, error) + // Deletes a TensorboardTimeSeries. + DeleteTensorboardTimeSeries(context.Context, *DeleteTensorboardTimeSeriesRequest) (*longrunningpb.Operation, error) + // Reads multiple TensorboardTimeSeries' data. The data point number limit is + // 1000 for scalars, 100 for tensors and blob references. If the number of + // data points stored is less than the limit, all data is returned. + // Otherwise, the number limit of data points is randomly selected from + // this time series and returned. + BatchReadTensorboardTimeSeriesData(context.Context, *BatchReadTensorboardTimeSeriesDataRequest) (*BatchReadTensorboardTimeSeriesDataResponse, error) + // Reads a TensorboardTimeSeries' data. By default, if the number of data + // points stored is less than 1000, all data is returned. Otherwise, 1000 + // data points is randomly selected from this time series and returned. + // This value can be changed by changing max_data_points, which can't be + // greater than 10k. + ReadTensorboardTimeSeriesData(context.Context, *ReadTensorboardTimeSeriesDataRequest) (*ReadTensorboardTimeSeriesDataResponse, error) + // Gets bytes of TensorboardBlobs. + // This is to allow reading blob data stored in consumer project's Cloud + // Storage bucket without users having to obtain Cloud Storage access + // permission. + ReadTensorboardBlobData(*ReadTensorboardBlobDataRequest, TensorboardService_ReadTensorboardBlobDataServer) error + // Write time series data points of multiple TensorboardTimeSeries in multiple + // TensorboardRun's. If any data fail to be ingested, an error is returned. + WriteTensorboardExperimentData(context.Context, *WriteTensorboardExperimentDataRequest) (*WriteTensorboardExperimentDataResponse, error) + // Write time series data points into multiple TensorboardTimeSeries under + // a TensorboardRun. If any data fail to be ingested, an error is returned. + WriteTensorboardRunData(context.Context, *WriteTensorboardRunDataRequest) (*WriteTensorboardRunDataResponse, error) + // Exports a TensorboardTimeSeries' data. Data is returned in paginated + // responses. + ExportTensorboardTimeSeriesData(context.Context, *ExportTensorboardTimeSeriesDataRequest) (*ExportTensorboardTimeSeriesDataResponse, error) + mustEmbedUnimplementedTensorboardServiceServer() +} + +// UnimplementedTensorboardServiceServer must be embedded to have forward compatible implementations. +type UnimplementedTensorboardServiceServer struct { +} + +func (UnimplementedTensorboardServiceServer) CreateTensorboard(context.Context, *CreateTensorboardRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTensorboard not implemented") +} +func (UnimplementedTensorboardServiceServer) GetTensorboard(context.Context, *GetTensorboardRequest) (*Tensorboard, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTensorboard not implemented") +} +func (UnimplementedTensorboardServiceServer) UpdateTensorboard(context.Context, *UpdateTensorboardRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTensorboard not implemented") +} +func (UnimplementedTensorboardServiceServer) ListTensorboards(context.Context, *ListTensorboardsRequest) (*ListTensorboardsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTensorboards not implemented") +} +func (UnimplementedTensorboardServiceServer) DeleteTensorboard(context.Context, *DeleteTensorboardRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTensorboard not implemented") +} +func (UnimplementedTensorboardServiceServer) ReadTensorboardUsage(context.Context, *ReadTensorboardUsageRequest) (*ReadTensorboardUsageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReadTensorboardUsage not implemented") +} +func (UnimplementedTensorboardServiceServer) ReadTensorboardSize(context.Context, *ReadTensorboardSizeRequest) (*ReadTensorboardSizeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReadTensorboardSize not implemented") +} +func (UnimplementedTensorboardServiceServer) CreateTensorboardExperiment(context.Context, *CreateTensorboardExperimentRequest) (*TensorboardExperiment, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTensorboardExperiment not implemented") +} +func (UnimplementedTensorboardServiceServer) GetTensorboardExperiment(context.Context, *GetTensorboardExperimentRequest) (*TensorboardExperiment, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTensorboardExperiment not implemented") +} +func (UnimplementedTensorboardServiceServer) UpdateTensorboardExperiment(context.Context, *UpdateTensorboardExperimentRequest) (*TensorboardExperiment, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTensorboardExperiment not implemented") +} +func (UnimplementedTensorboardServiceServer) ListTensorboardExperiments(context.Context, *ListTensorboardExperimentsRequest) (*ListTensorboardExperimentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTensorboardExperiments not implemented") +} +func (UnimplementedTensorboardServiceServer) DeleteTensorboardExperiment(context.Context, *DeleteTensorboardExperimentRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTensorboardExperiment not implemented") +} +func (UnimplementedTensorboardServiceServer) CreateTensorboardRun(context.Context, *CreateTensorboardRunRequest) (*TensorboardRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTensorboardRun not implemented") +} +func (UnimplementedTensorboardServiceServer) BatchCreateTensorboardRuns(context.Context, *BatchCreateTensorboardRunsRequest) (*BatchCreateTensorboardRunsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateTensorboardRuns not implemented") +} +func (UnimplementedTensorboardServiceServer) GetTensorboardRun(context.Context, *GetTensorboardRunRequest) (*TensorboardRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTensorboardRun not implemented") +} +func (UnimplementedTensorboardServiceServer) UpdateTensorboardRun(context.Context, *UpdateTensorboardRunRequest) (*TensorboardRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTensorboardRun not implemented") +} +func (UnimplementedTensorboardServiceServer) ListTensorboardRuns(context.Context, *ListTensorboardRunsRequest) (*ListTensorboardRunsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTensorboardRuns not implemented") +} +func (UnimplementedTensorboardServiceServer) DeleteTensorboardRun(context.Context, *DeleteTensorboardRunRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTensorboardRun not implemented") +} +func (UnimplementedTensorboardServiceServer) BatchCreateTensorboardTimeSeries(context.Context, *BatchCreateTensorboardTimeSeriesRequest) (*BatchCreateTensorboardTimeSeriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) CreateTensorboardTimeSeries(context.Context, *CreateTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) GetTensorboardTimeSeries(context.Context, *GetTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) UpdateTensorboardTimeSeries(context.Context, *UpdateTensorboardTimeSeriesRequest) (*TensorboardTimeSeries, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) ListTensorboardTimeSeries(context.Context, *ListTensorboardTimeSeriesRequest) (*ListTensorboardTimeSeriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) DeleteTensorboardTimeSeries(context.Context, *DeleteTensorboardTimeSeriesRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTensorboardTimeSeries not implemented") +} +func (UnimplementedTensorboardServiceServer) BatchReadTensorboardTimeSeriesData(context.Context, *BatchReadTensorboardTimeSeriesDataRequest) (*BatchReadTensorboardTimeSeriesDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchReadTensorboardTimeSeriesData not implemented") +} +func (UnimplementedTensorboardServiceServer) ReadTensorboardTimeSeriesData(context.Context, *ReadTensorboardTimeSeriesDataRequest) (*ReadTensorboardTimeSeriesDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReadTensorboardTimeSeriesData not implemented") +} +func (UnimplementedTensorboardServiceServer) ReadTensorboardBlobData(*ReadTensorboardBlobDataRequest, TensorboardService_ReadTensorboardBlobDataServer) error { + return status.Errorf(codes.Unimplemented, "method ReadTensorboardBlobData not implemented") +} +func (UnimplementedTensorboardServiceServer) WriteTensorboardExperimentData(context.Context, *WriteTensorboardExperimentDataRequest) (*WriteTensorboardExperimentDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteTensorboardExperimentData not implemented") +} +func (UnimplementedTensorboardServiceServer) WriteTensorboardRunData(context.Context, *WriteTensorboardRunDataRequest) (*WriteTensorboardRunDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteTensorboardRunData not implemented") +} +func (UnimplementedTensorboardServiceServer) ExportTensorboardTimeSeriesData(context.Context, *ExportTensorboardTimeSeriesDataRequest) (*ExportTensorboardTimeSeriesDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportTensorboardTimeSeriesData not implemented") +} +func (UnimplementedTensorboardServiceServer) mustEmbedUnimplementedTensorboardServiceServer() {} + +// UnsafeTensorboardServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TensorboardServiceServer will +// result in compilation errors. +type UnsafeTensorboardServiceServer interface { + mustEmbedUnimplementedTensorboardServiceServer() +} + +func RegisterTensorboardServiceServer(s grpc.ServiceRegistrar, srv TensorboardServiceServer) { + s.RegisterService(&TensorboardService_ServiceDesc, srv) +} + +func _TensorboardService_CreateTensorboard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTensorboardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).CreateTensorboard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).CreateTensorboard(ctx, req.(*CreateTensorboardRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_GetTensorboard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTensorboardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).GetTensorboard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).GetTensorboard(ctx, req.(*GetTensorboardRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_UpdateTensorboard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTensorboardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).UpdateTensorboard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).UpdateTensorboard(ctx, req.(*UpdateTensorboardRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ListTensorboards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTensorboardsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ListTensorboards(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboards", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ListTensorboards(ctx, req.(*ListTensorboardsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_DeleteTensorboard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTensorboardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).DeleteTensorboard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).DeleteTensorboard(ctx, req.(*DeleteTensorboardRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ReadTensorboardUsage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReadTensorboardUsageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ReadTensorboardUsage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardUsage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ReadTensorboardUsage(ctx, req.(*ReadTensorboardUsageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ReadTensorboardSize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReadTensorboardSizeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ReadTensorboardSize(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardSize", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ReadTensorboardSize(ctx, req.(*ReadTensorboardSizeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_CreateTensorboardExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTensorboardExperimentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).CreateTensorboardExperiment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardExperiment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).CreateTensorboardExperiment(ctx, req.(*CreateTensorboardExperimentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_GetTensorboardExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTensorboardExperimentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).GetTensorboardExperiment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardExperiment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).GetTensorboardExperiment(ctx, req.(*GetTensorboardExperimentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_UpdateTensorboardExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTensorboardExperimentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).UpdateTensorboardExperiment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardExperiment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).UpdateTensorboardExperiment(ctx, req.(*UpdateTensorboardExperimentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ListTensorboardExperiments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTensorboardExperimentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ListTensorboardExperiments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardExperiments", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ListTensorboardExperiments(ctx, req.(*ListTensorboardExperimentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_DeleteTensorboardExperiment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTensorboardExperimentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).DeleteTensorboardExperiment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardExperiment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).DeleteTensorboardExperiment(ctx, req.(*DeleteTensorboardExperimentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_CreateTensorboardRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTensorboardRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).CreateTensorboardRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardRun", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).CreateTensorboardRun(ctx, req.(*CreateTensorboardRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_BatchCreateTensorboardRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateTensorboardRunsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).BatchCreateTensorboardRuns(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardRuns", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).BatchCreateTensorboardRuns(ctx, req.(*BatchCreateTensorboardRunsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_GetTensorboardRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTensorboardRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).GetTensorboardRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardRun", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).GetTensorboardRun(ctx, req.(*GetTensorboardRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_UpdateTensorboardRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTensorboardRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).UpdateTensorboardRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardRun", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).UpdateTensorboardRun(ctx, req.(*UpdateTensorboardRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ListTensorboardRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTensorboardRunsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ListTensorboardRuns(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardRuns", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ListTensorboardRuns(ctx, req.(*ListTensorboardRunsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_DeleteTensorboardRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTensorboardRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).DeleteTensorboardRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardRun", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).DeleteTensorboardRun(ctx, req.(*DeleteTensorboardRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_BatchCreateTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).BatchCreateTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchCreateTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).BatchCreateTensorboardTimeSeries(ctx, req.(*BatchCreateTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_CreateTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).CreateTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/CreateTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).CreateTensorboardTimeSeries(ctx, req.(*CreateTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_GetTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).GetTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/GetTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).GetTensorboardTimeSeries(ctx, req.(*GetTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_UpdateTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).UpdateTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/UpdateTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).UpdateTensorboardTimeSeries(ctx, req.(*UpdateTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ListTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ListTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ListTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ListTensorboardTimeSeries(ctx, req.(*ListTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_DeleteTensorboardTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTensorboardTimeSeriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).DeleteTensorboardTimeSeries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/DeleteTensorboardTimeSeries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).DeleteTensorboardTimeSeries(ctx, req.(*DeleteTensorboardTimeSeriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_BatchReadTensorboardTimeSeriesData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchReadTensorboardTimeSeriesDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).BatchReadTensorboardTimeSeriesData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/BatchReadTensorboardTimeSeriesData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).BatchReadTensorboardTimeSeriesData(ctx, req.(*BatchReadTensorboardTimeSeriesDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ReadTensorboardTimeSeriesData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReadTensorboardTimeSeriesDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ReadTensorboardTimeSeriesData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ReadTensorboardTimeSeriesData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ReadTensorboardTimeSeriesData(ctx, req.(*ReadTensorboardTimeSeriesDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ReadTensorboardBlobData_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ReadTensorboardBlobDataRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(TensorboardServiceServer).ReadTensorboardBlobData(m, &tensorboardServiceReadTensorboardBlobDataServer{stream}) +} + +type TensorboardService_ReadTensorboardBlobDataServer interface { + Send(*ReadTensorboardBlobDataResponse) error + grpc.ServerStream +} + +type tensorboardServiceReadTensorboardBlobDataServer struct { + grpc.ServerStream +} + +func (x *tensorboardServiceReadTensorboardBlobDataServer) Send(m *ReadTensorboardBlobDataResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _TensorboardService_WriteTensorboardExperimentData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteTensorboardExperimentDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).WriteTensorboardExperimentData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardExperimentData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).WriteTensorboardExperimentData(ctx, req.(*WriteTensorboardExperimentDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_WriteTensorboardRunData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteTensorboardRunDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).WriteTensorboardRunData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/WriteTensorboardRunData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).WriteTensorboardRunData(ctx, req.(*WriteTensorboardRunDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TensorboardService_ExportTensorboardTimeSeriesData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportTensorboardTimeSeriesDataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TensorboardServiceServer).ExportTensorboardTimeSeriesData(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.aiplatform.v1beta1.TensorboardService/ExportTensorboardTimeSeriesData", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TensorboardServiceServer).ExportTensorboardTimeSeriesData(ctx, req.(*ExportTensorboardTimeSeriesDataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// TensorboardService_ServiceDesc is the grpc.ServiceDesc for TensorboardService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var TensorboardService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.aiplatform.v1beta1.TensorboardService", + HandlerType: (*TensorboardServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateTensorboard", + Handler: _TensorboardService_CreateTensorboard_Handler, + }, + { + MethodName: "GetTensorboard", + Handler: _TensorboardService_GetTensorboard_Handler, + }, + { + MethodName: "UpdateTensorboard", + Handler: _TensorboardService_UpdateTensorboard_Handler, + }, + { + MethodName: "ListTensorboards", + Handler: _TensorboardService_ListTensorboards_Handler, + }, + { + MethodName: "DeleteTensorboard", + Handler: _TensorboardService_DeleteTensorboard_Handler, + }, + { + MethodName: "ReadTensorboardUsage", + Handler: _TensorboardService_ReadTensorboardUsage_Handler, + }, + { + MethodName: "ReadTensorboardSize", + Handler: _TensorboardService_ReadTensorboardSize_Handler, + }, + { + MethodName: "CreateTensorboardExperiment", + Handler: _TensorboardService_CreateTensorboardExperiment_Handler, + }, + { + MethodName: "GetTensorboardExperiment", + Handler: _TensorboardService_GetTensorboardExperiment_Handler, + }, + { + MethodName: "UpdateTensorboardExperiment", + Handler: _TensorboardService_UpdateTensorboardExperiment_Handler, + }, + { + MethodName: "ListTensorboardExperiments", + Handler: _TensorboardService_ListTensorboardExperiments_Handler, + }, + { + MethodName: "DeleteTensorboardExperiment", + Handler: _TensorboardService_DeleteTensorboardExperiment_Handler, + }, + { + MethodName: "CreateTensorboardRun", + Handler: _TensorboardService_CreateTensorboardRun_Handler, + }, + { + MethodName: "BatchCreateTensorboardRuns", + Handler: _TensorboardService_BatchCreateTensorboardRuns_Handler, + }, + { + MethodName: "GetTensorboardRun", + Handler: _TensorboardService_GetTensorboardRun_Handler, + }, + { + MethodName: "UpdateTensorboardRun", + Handler: _TensorboardService_UpdateTensorboardRun_Handler, + }, + { + MethodName: "ListTensorboardRuns", + Handler: _TensorboardService_ListTensorboardRuns_Handler, + }, + { + MethodName: "DeleteTensorboardRun", + Handler: _TensorboardService_DeleteTensorboardRun_Handler, + }, + { + MethodName: "BatchCreateTensorboardTimeSeries", + Handler: _TensorboardService_BatchCreateTensorboardTimeSeries_Handler, + }, + { + MethodName: "CreateTensorboardTimeSeries", + Handler: _TensorboardService_CreateTensorboardTimeSeries_Handler, + }, + { + MethodName: "GetTensorboardTimeSeries", + Handler: _TensorboardService_GetTensorboardTimeSeries_Handler, + }, + { + MethodName: "UpdateTensorboardTimeSeries", + Handler: _TensorboardService_UpdateTensorboardTimeSeries_Handler, + }, + { + MethodName: "ListTensorboardTimeSeries", + Handler: _TensorboardService_ListTensorboardTimeSeries_Handler, + }, + { + MethodName: "DeleteTensorboardTimeSeries", + Handler: _TensorboardService_DeleteTensorboardTimeSeries_Handler, + }, + { + MethodName: "BatchReadTensorboardTimeSeriesData", + Handler: _TensorboardService_BatchReadTensorboardTimeSeriesData_Handler, + }, + { + MethodName: "ReadTensorboardTimeSeriesData", + Handler: _TensorboardService_ReadTensorboardTimeSeriesData_Handler, + }, + { + MethodName: "WriteTensorboardExperimentData", + Handler: _TensorboardService_WriteTensorboardExperimentData_Handler, + }, + { + MethodName: "WriteTensorboardRunData", + Handler: _TensorboardService_WriteTensorboardRunData_Handler, + }, + { + MethodName: "ExportTensorboardTimeSeriesData", + Handler: _TensorboardService_ExportTensorboardTimeSeriesData_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "ReadTensorboardBlobData", + Handler: _TensorboardService_ReadTensorboardBlobData_Handler, + ServerStreams: true, + }, + }, + Metadata: "mockgcp/cloud/aiplatform/v1beta1/tensorboard_service.proto", +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_time_series.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_time_series.pb.go new file mode 100644 index 0000000000..e4e705d889 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tensorboard_time_series.pb.go @@ -0,0 +1,483 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tensorboard_time_series.proto + +package aiplatformpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An enum representing the value type of a TensorboardTimeSeries. +type TensorboardTimeSeries_ValueType int32 + +const ( + // The value type is unspecified. + TensorboardTimeSeries_VALUE_TYPE_UNSPECIFIED TensorboardTimeSeries_ValueType = 0 + // Used for TensorboardTimeSeries that is a list of scalars. + // E.g. accuracy of a model over epochs/time. + TensorboardTimeSeries_SCALAR TensorboardTimeSeries_ValueType = 1 + // Used for TensorboardTimeSeries that is a list of tensors. + // E.g. histograms of weights of layer in a model over epoch/time. + TensorboardTimeSeries_TENSOR TensorboardTimeSeries_ValueType = 2 + // Used for TensorboardTimeSeries that is a list of blob sequences. + // E.g. set of sample images with labels over epochs/time. + TensorboardTimeSeries_BLOB_SEQUENCE TensorboardTimeSeries_ValueType = 3 +) + +// Enum value maps for TensorboardTimeSeries_ValueType. +var ( + TensorboardTimeSeries_ValueType_name = map[int32]string{ + 0: "VALUE_TYPE_UNSPECIFIED", + 1: "SCALAR", + 2: "TENSOR", + 3: "BLOB_SEQUENCE", + } + TensorboardTimeSeries_ValueType_value = map[string]int32{ + "VALUE_TYPE_UNSPECIFIED": 0, + "SCALAR": 1, + "TENSOR": 2, + "BLOB_SEQUENCE": 3, + } +) + +func (x TensorboardTimeSeries_ValueType) Enum() *TensorboardTimeSeries_ValueType { + p := new(TensorboardTimeSeries_ValueType) + *p = x + return p +} + +func (x TensorboardTimeSeries_ValueType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TensorboardTimeSeries_ValueType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_enumTypes[0].Descriptor() +} + +func (TensorboardTimeSeries_ValueType) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_enumTypes[0] +} + +func (x TensorboardTimeSeries_ValueType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TensorboardTimeSeries_ValueType.Descriptor instead. +func (TensorboardTimeSeries_ValueType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescGZIP(), []int{0, 0} +} + +// TensorboardTimeSeries maps to times series produced in training runs +type TensorboardTimeSeries struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Name of the TensorboardTimeSeries. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User provided name of this TensorboardTimeSeries. + // This value should be unique among all TensorboardTimeSeries resources + // belonging to the same TensorboardRun resource (parent resource). + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Description of this TensorboardTimeSeries. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Required. Immutable. Type of TensorboardTimeSeries value. + ValueType TensorboardTimeSeries_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries_ValueType" json:"value_type,omitempty"` + // Output only. Timestamp when this TensorboardTimeSeries was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this TensorboardTimeSeries was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Used to perform a consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` + // Immutable. Name of the plugin this time series pertain to. Such as Scalar, + // Tensor, Blob + PluginName string `protobuf:"bytes,8,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + // Data of the current plugin, with the size limited to 65KB. + PluginData []byte `protobuf:"bytes,9,opt,name=plugin_data,json=pluginData,proto3" json:"plugin_data,omitempty"` + // Output only. Scalar, Tensor, or Blob metadata for this + // TensorboardTimeSeries. + Metadata *TensorboardTimeSeries_Metadata `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *TensorboardTimeSeries) Reset() { + *x = TensorboardTimeSeries{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardTimeSeries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardTimeSeries) ProtoMessage() {} + +func (x *TensorboardTimeSeries) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[0] + 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 TensorboardTimeSeries.ProtoReflect.Descriptor instead. +func (*TensorboardTimeSeries) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescGZIP(), []int{0} +} + +func (x *TensorboardTimeSeries) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TensorboardTimeSeries) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *TensorboardTimeSeries) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *TensorboardTimeSeries) GetValueType() TensorboardTimeSeries_ValueType { + if x != nil { + return x.ValueType + } + return TensorboardTimeSeries_VALUE_TYPE_UNSPECIFIED +} + +func (x *TensorboardTimeSeries) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *TensorboardTimeSeries) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *TensorboardTimeSeries) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *TensorboardTimeSeries) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *TensorboardTimeSeries) GetPluginData() []byte { + if x != nil { + return x.PluginData + } + return nil +} + +func (x *TensorboardTimeSeries) GetMetadata() *TensorboardTimeSeries_Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +// Describes metadata for a TensorboardTimeSeries. +type TensorboardTimeSeries_Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Max step index of all data points within a + // TensorboardTimeSeries. + MaxStep int64 `protobuf:"varint,1,opt,name=max_step,json=maxStep,proto3" json:"max_step,omitempty"` + // Output only. Max wall clock timestamp of all data points within a + // TensorboardTimeSeries. + MaxWallTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=max_wall_time,json=maxWallTime,proto3" json:"max_wall_time,omitempty"` + // Output only. The largest blob sequence length (number of blobs) of all + // data points in this time series, if its ValueType is BLOB_SEQUENCE. + MaxBlobSequenceLength int64 `protobuf:"varint,3,opt,name=max_blob_sequence_length,json=maxBlobSequenceLength,proto3" json:"max_blob_sequence_length,omitempty"` +} + +func (x *TensorboardTimeSeries_Metadata) Reset() { + *x = TensorboardTimeSeries_Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TensorboardTimeSeries_Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TensorboardTimeSeries_Metadata) ProtoMessage() {} + +func (x *TensorboardTimeSeries_Metadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[1] + 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 TensorboardTimeSeries_Metadata.ProtoReflect.Descriptor instead. +func (*TensorboardTimeSeries_Metadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *TensorboardTimeSeries_Metadata) GetMaxStep() int64 { + if x != nil { + return x.MaxStep + } + return 0 +} + +func (x *TensorboardTimeSeries_Metadata) GetMaxWallTime() *timestamp.Timestamp { + if x != nil { + return x.MaxWallTime + } + return nil +} + +func (x *TensorboardTimeSeries_Metadata) GetMaxBlobSequenceLength() int64 { + if x != nil { + return x.MaxBlobSequenceLength + } + return 0 +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDesc = []byte{ + 0x0a, 0x3e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 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, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x22, + 0xe3, 0x07, 0x0a, 0x15, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x0a, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x24, + 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, + 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xad, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x65, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6d, 0x61, + 0x78, 0x53, 0x74, 0x65, 0x70, 0x12, 0x43, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0b, 0x6d, + 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x18, 0x6d, 0x61, + 0x78, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x52, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x54, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4c, 0x4f, + 0x42, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x3a, 0xb6, 0x01, 0xea, + 0x41, 0xb2, 0x01, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x7f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x65, + 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x7d, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x7d, 0x42, 0xf2, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1a, + 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_goTypes = []interface{}{ + (TensorboardTimeSeries_ValueType)(0), // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.ValueType + (*TensorboardTimeSeries)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries + (*TensorboardTimeSeries_Metadata)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.Metadata + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_depIdxs = []int32{ + 0, // 0: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.value_type:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.ValueType + 3, // 1: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.create_time:type_name -> google.protobuf.Timestamp + 3, // 2: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.update_time:type_name -> google.protobuf.Timestamp + 2, // 3: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.metadata:type_name -> mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.Metadata + 3, // 4: mockgcp.cloud.aiplatform.v1beta1.TensorboardTimeSeries.Metadata.max_wall_time:type_name -> google.protobuf.Timestamp + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardTimeSeries); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TensorboardTimeSeries_Metadata); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tensorboard_time_series_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tool.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tool.pb.go new file mode 100644 index 0000000000..07e7785d89 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/tool.pb.go @@ -0,0 +1,760 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/tool.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Tool details that the model may use to generate response. +// +// A `Tool` is a piece of code that enables the system to interact with +// external systems to perform an action, or set of actions, outside of +// knowledge and scope of the model. A Tool object should contain exactly +// one type of Tool. +type Tool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. One or more function declarations to be passed to the model along + // with the current user query. Model may decide to call a subset of these + // functions by populating [FunctionCall][content.part.function_call] in the + // response. User should provide a + // [FunctionResponse][content.part.function_response] for each function call + // in the next turn. Based on the function responses, Model will generate the + // final response back to the user. Maximum 64 function declarations can be + // provided. + FunctionDeclarations []*FunctionDeclaration `protobuf:"bytes,1,rep,name=function_declarations,json=functionDeclarations,proto3" json:"function_declarations,omitempty"` + // Optional. System will always execute the provided retrieval tool(s) to get + // external knowledge to answer the prompt. Retrieval results are presented to + // the model for generation. + Retrieval *Retrieval `protobuf:"bytes,2,opt,name=retrieval,proto3" json:"retrieval,omitempty"` + // Optional. Specialized retrieval tool that is powered by Google search. + GoogleSearchRetrieval *GoogleSearchRetrieval `protobuf:"bytes,3,opt,name=google_search_retrieval,json=googleSearchRetrieval,proto3" json:"google_search_retrieval,omitempty"` +} + +func (x *Tool) Reset() { + *x = Tool{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Tool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tool) ProtoMessage() {} + +func (x *Tool) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[0] + 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 Tool.ProtoReflect.Descriptor instead. +func (*Tool) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *Tool) GetFunctionDeclarations() []*FunctionDeclaration { + if x != nil { + return x.FunctionDeclarations + } + return nil +} + +func (x *Tool) GetRetrieval() *Retrieval { + if x != nil { + return x.Retrieval + } + return nil +} + +func (x *Tool) GetGoogleSearchRetrieval() *GoogleSearchRetrieval { + if x != nil { + return x.GoogleSearchRetrieval + } + return nil +} + +// Structured representation of a function declaration as defined by the +// [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included +// in this declaration are the function name and parameters. This +// FunctionDeclaration is a representation of a block of code that can be used +// as a `Tool` by the model and executed by the client. +type FunctionDeclaration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the function to call. + // Must start with a letter or an underscore. + // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum + // length of 64. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Description and purpose of the function. + // Model uses it to decide how and whether to call the function. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Describes the parameters to this function in JSON Schema Object + // format. Reflects the Open API 3.03 Parameter Object. string Key: the name + // of the parameter. Parameter names are case sensitive. Schema Value: the + // Schema defining the type used for the parameter. For function with no + // parameters, this can be left unset. Example with 1 required and 1 optional + // parameter: type: OBJECT properties: + // + // param1: + // type: STRING + // param2: + // type: INTEGER + // + // required: + // - param1 + Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *FunctionDeclaration) Reset() { + *x = FunctionDeclaration{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunctionDeclaration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunctionDeclaration) ProtoMessage() {} + +func (x *FunctionDeclaration) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[1] + 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 FunctionDeclaration.ProtoReflect.Descriptor instead. +func (*FunctionDeclaration) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{1} +} + +func (x *FunctionDeclaration) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FunctionDeclaration) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *FunctionDeclaration) GetParameters() *Schema { + if x != nil { + return x.Parameters + } + return nil +} + +// A predicted [FunctionCall] returned from the model that contains a string +// representing the [FunctionDeclaration.name] and a structured JSON object +// containing the parameters and their values. +type FunctionCall struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name]. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Required. The function parameters and values in JSON object + // format. See [FunctionDeclaration.parameters] for parameter details. + Args *_struct.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` +} + +func (x *FunctionCall) Reset() { + *x = FunctionCall{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunctionCall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunctionCall) ProtoMessage() {} + +func (x *FunctionCall) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_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 FunctionCall.ProtoReflect.Descriptor instead. +func (*FunctionCall) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{2} +} + +func (x *FunctionCall) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FunctionCall) GetArgs() *_struct.Struct { + if x != nil { + return x.Args + } + return nil +} + +// The result output from a [FunctionCall] that contains a string representing +// the [FunctionDeclaration.name] and a structured JSON object containing any +// output from the function is used as context to the model. This should contain +// the result of a [FunctionCall] made based on model prediction. +type FunctionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the function to call. + // Matches [FunctionDeclaration.name] and [FunctionCall.name]. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The function response in JSON object format. + Response *_struct.Struct `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *FunctionResponse) Reset() { + *x = FunctionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunctionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunctionResponse) ProtoMessage() {} + +func (x *FunctionResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[3] + 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 FunctionResponse.ProtoReflect.Descriptor instead. +func (*FunctionResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{3} +} + +func (x *FunctionResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FunctionResponse) GetResponse() *_struct.Struct { + if x != nil { + return x.Response + } + return nil +} + +// Defines a retrieval tool that model can call to access external knowledge. +type Retrieval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Source: + // + // *Retrieval_VertexAiSearch + Source isRetrieval_Source `protobuf_oneof:"source"` + // Optional. Disable using the result from this tool in detecting grounding + // attribution. This does not affect how the result is given to the model for + // generation. + DisableAttribution bool `protobuf:"varint,3,opt,name=disable_attribution,json=disableAttribution,proto3" json:"disable_attribution,omitempty"` +} + +func (x *Retrieval) Reset() { + *x = Retrieval{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Retrieval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Retrieval) ProtoMessage() {} + +func (x *Retrieval) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4] + 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 Retrieval.ProtoReflect.Descriptor instead. +func (*Retrieval) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{4} +} + +func (m *Retrieval) GetSource() isRetrieval_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *Retrieval) GetVertexAiSearch() *VertexAISearch { + if x, ok := x.GetSource().(*Retrieval_VertexAiSearch); ok { + return x.VertexAiSearch + } + return nil +} + +func (x *Retrieval) GetDisableAttribution() bool { + if x != nil { + return x.DisableAttribution + } + return false +} + +type isRetrieval_Source interface { + isRetrieval_Source() +} + +type Retrieval_VertexAiSearch struct { + // Set to use data source powered by Vertex AI Search. + VertexAiSearch *VertexAISearch `protobuf:"bytes,2,opt,name=vertex_ai_search,json=vertexAiSearch,proto3,oneof"` +} + +func (*Retrieval_VertexAiSearch) isRetrieval_Source() {} + +// Retrieve from Vertex AI Search datastore for grounding. +// See https://cloud.google.com/vertex-ai-search-and-conversation +type VertexAISearch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Fully-qualified Vertex AI Search's datastore resource ID. + // projects/<>/locations/<>/collections/<>/dataStores/<> + Datastore string `protobuf:"bytes,1,opt,name=datastore,proto3" json:"datastore,omitempty"` +} + +func (x *VertexAISearch) Reset() { + *x = VertexAISearch{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VertexAISearch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VertexAISearch) ProtoMessage() {} + +func (x *VertexAISearch) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5] + 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 VertexAISearch.ProtoReflect.Descriptor instead. +func (*VertexAISearch) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{5} +} + +func (x *VertexAISearch) GetDatastore() string { + if x != nil { + return x.Datastore + } + return "" +} + +// Tool to retrieve public web data for grounding, powered by Google. +type GoogleSearchRetrieval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Disable using the result from this tool in detecting grounding + // attribution. This does not affect how the result is given to the model for + // generation. + DisableAttribution bool `protobuf:"varint,1,opt,name=disable_attribution,json=disableAttribution,proto3" json:"disable_attribution,omitempty"` +} + +func (x *GoogleSearchRetrieval) Reset() { + *x = GoogleSearchRetrieval{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleSearchRetrieval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleSearchRetrieval) ProtoMessage() {} + +func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_tool_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 GoogleSearchRetrieval.ProtoReflect.Descriptor instead. +func (*GoogleSearchRetrieval) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{6} +} + +func (x *GoogleSearchRetrieval) GetDisableAttribution() bool { + if x != nil { + return x.DisableAttribution + } + return false +} + +var File_mockgcp_cloud_aiplatform_v1beta1_tool_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 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, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, + 0x02, 0x0a, 0x04, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x6f, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x74, 0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x22, 0xa4, + 0x01, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x61, 0x6c, 0x6c, 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, 0x12, 0x30, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x22, 0x65, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 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, 0x12, 0x38, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x5c, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, + 0x61, 0x69, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x69, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x33, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x4d, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, + 0x6c, 0x12, 0x34, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xe1, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescOnce sync.Once + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescData = file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDesc +) + +func file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescData) + }) + return file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDescData +} + +var file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_goTypes = []interface{}{ + (*Tool)(nil), // 0: mockgcp.cloud.aiplatform.v1beta1.Tool + (*FunctionDeclaration)(nil), // 1: mockgcp.cloud.aiplatform.v1beta1.FunctionDeclaration + (*FunctionCall)(nil), // 2: mockgcp.cloud.aiplatform.v1beta1.FunctionCall + (*FunctionResponse)(nil), // 3: mockgcp.cloud.aiplatform.v1beta1.FunctionResponse + (*Retrieval)(nil), // 4: mockgcp.cloud.aiplatform.v1beta1.Retrieval + (*VertexAISearch)(nil), // 5: mockgcp.cloud.aiplatform.v1beta1.VertexAISearch + (*GoogleSearchRetrieval)(nil), // 6: mockgcp.cloud.aiplatform.v1beta1.GoogleSearchRetrieval + (*Schema)(nil), // 7: mockgcp.cloud.aiplatform.v1beta1.Schema + (*_struct.Struct)(nil), // 8: google.protobuf.Struct +} +var file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_depIdxs = []int32{ + 1, // 0: mockgcp.cloud.aiplatform.v1beta1.Tool.function_declarations:type_name -> mockgcp.cloud.aiplatform.v1beta1.FunctionDeclaration + 4, // 1: mockgcp.cloud.aiplatform.v1beta1.Tool.retrieval:type_name -> mockgcp.cloud.aiplatform.v1beta1.Retrieval + 6, // 2: mockgcp.cloud.aiplatform.v1beta1.Tool.google_search_retrieval:type_name -> mockgcp.cloud.aiplatform.v1beta1.GoogleSearchRetrieval + 7, // 3: mockgcp.cloud.aiplatform.v1beta1.FunctionDeclaration.parameters:type_name -> mockgcp.cloud.aiplatform.v1beta1.Schema + 8, // 4: mockgcp.cloud.aiplatform.v1beta1.FunctionCall.args:type_name -> google.protobuf.Struct + 8, // 5: mockgcp.cloud.aiplatform.v1beta1.FunctionResponse.response:type_name -> google.protobuf.Struct + 5, // 6: mockgcp.cloud.aiplatform.v1beta1.Retrieval.vertex_ai_search:type_name -> mockgcp.cloud.aiplatform.v1beta1.VertexAISearch + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_init() } +func file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_init() { + if File_mockgcp_cloud_aiplatform_v1beta1_tool_proto != nil { + return + } + file_mockgcp_cloud_aiplatform_v1beta1_openapi_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionDeclaration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionCall); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Retrieval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VertexAISearch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GoogleSearchRetrieval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*Retrieval_VertexAiSearch)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_msgTypes, + }.Build() + File_mockgcp_cloud_aiplatform_v1beta1_tool_proto = out.File + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_rawDesc = nil + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_goTypes = nil + file_mockgcp_cloud_aiplatform_v1beta1_tool_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/training_pipeline.pb.go b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/training_pipeline.pb.go new file mode 100644 index 0000000000..450c7153c6 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/aiplatform/v1beta1/training_pipeline.pb.go @@ -0,0 +1,1446 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/aiplatform/v1beta1/training_pipeline.proto + +package aiplatformpb + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The TrainingPipeline orchestrates tasks associated with training a Model. It +// always executes the training task, and optionally may also +// export data from Vertex AI's Dataset which becomes the training input, +// [upload][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel] the Model +// to Vertex AI, and evaluate the Model. +type TrainingPipeline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the TrainingPipeline. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user-defined name of this TrainingPipeline. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Specifies Vertex AI owned input data that may be used for training the + // Model. The TrainingPipeline's + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] + // should make clear whether this config is used and if there are any special + // requirements on how it should be filled. If nothing about this config is + // mentioned in the + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], + // then it should be assumed that the TrainingPipeline does not depend on this + // configuration. + InputDataConfig *InputDataConfig `protobuf:"bytes,3,opt,name=input_data_config,json=inputDataConfig,proto3" json:"input_data_config,omitempty"` + // Required. A Google Cloud Storage path to the YAML file that defines the + // training task which is responsible for producing the model artifact, and + // may also include additional auxiliary work. The definition files that can + // be used here are found in + // gs://google-cloud-aiplatform/schema/trainingjob/definition/. + // Note: The URI given on output will be immutable and probably different, + // including the URI scheme, than the one given on input. The output URI will + // point to a location where the user only has a read access. + TrainingTaskDefinition string `protobuf:"bytes,4,opt,name=training_task_definition,json=trainingTaskDefinition,proto3" json:"training_task_definition,omitempty"` + // Required. The training task's parameter(s), as specified in the + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s + // `inputs`. + TrainingTaskInputs *_struct.Value `protobuf:"bytes,5,opt,name=training_task_inputs,json=trainingTaskInputs,proto3" json:"training_task_inputs,omitempty"` + // Output only. The metadata information as specified in the + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]'s + // `metadata`. This metadata is an auxiliary runtime and final information + // about the training task. While the pipeline is running this information is + // populated only at a best effort basis. Only present if the + // pipeline's + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] + // contains `metadata` object. + TrainingTaskMetadata *_struct.Value `protobuf:"bytes,6,opt,name=training_task_metadata,json=trainingTaskMetadata,proto3" json:"training_task_metadata,omitempty"` + // Describes the Model that may be uploaded (via + // [ModelService.UploadModel][mockgcp.cloud.aiplatform.v1beta1.ModelService.UploadModel]) + // by this TrainingPipeline. The TrainingPipeline's + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition] + // should make clear whether this Model description should be populated, and + // if there are any special requirements regarding how it should be filled. If + // nothing is mentioned in the + // [training_task_definition][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition], + // then it should be assumed that this field should not be filled and the + // training task either uploads the Model without a need of this information, + // or that training task does not support uploading a Model as part of the + // pipeline. When the Pipeline's state becomes `PIPELINE_STATE_SUCCEEDED` and + // the trained Model had been uploaded into Vertex AI, then the + // model_to_upload's resource + // [name][mockgcp.cloud.aiplatform.v1beta1.Model.name] is populated. The Model + // is always uploaded into the Project and Location in which this pipeline + // is. + ModelToUpload *Model `protobuf:"bytes,7,opt,name=model_to_upload,json=modelToUpload,proto3" json:"model_to_upload,omitempty"` + // Optional. The ID to use for the uploaded Model, which will become the final + // component of the model resource name. + // + // This value may be up to 63 characters, and valid characters are + // `[a-z0-9_-]`. The first character cannot be a number or hyphen. + ModelId string `protobuf:"bytes,22,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"` + // Optional. When specify this field, the `model_to_upload` will not be + // uploaded as a new model, instead, it will become a new version of this + // `parent_model`. + ParentModel string `protobuf:"bytes,21,opt,name=parent_model,json=parentModel,proto3" json:"parent_model,omitempty"` + // Output only. The detailed state of the pipeline. + State PipelineState `protobuf:"varint,9,opt,name=state,proto3,enum=mockgcp.cloud.aiplatform.v1beta1.PipelineState" json:"state,omitempty"` + // Output only. Only populated when the pipeline's state is + // `PIPELINE_STATE_FAILED` or `PIPELINE_STATE_CANCELLED`. + Error *status.Status `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"` + // Output only. Time when the TrainingPipeline was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the TrainingPipeline for the first time entered the + // `PIPELINE_STATE_RUNNING` state. + StartTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the TrainingPipeline entered any of the following + // states: `PIPELINE_STATE_SUCCEEDED`, `PIPELINE_STATE_FAILED`, + // `PIPELINE_STATE_CANCELLED`. + EndTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Time when the TrainingPipeline was most recently updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels with user-defined metadata to organize TrainingPipelines. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Customer-managed encryption key spec for a TrainingPipeline. If set, this + // TrainingPipeline will be secured by this key. + // + // Note: Model trained by this TrainingPipeline is also secured by this key if + // [model_to_upload][mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.encryption_spec] + // is not set separately. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,18,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` +} + +func (x *TrainingPipeline) Reset() { + *x = TrainingPipeline{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrainingPipeline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrainingPipeline) ProtoMessage() {} + +func (x *TrainingPipeline) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[0] + 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 TrainingPipeline.ProtoReflect.Descriptor instead. +func (*TrainingPipeline) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{0} +} + +func (x *TrainingPipeline) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TrainingPipeline) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *TrainingPipeline) GetInputDataConfig() *InputDataConfig { + if x != nil { + return x.InputDataConfig + } + return nil +} + +func (x *TrainingPipeline) GetTrainingTaskDefinition() string { + if x != nil { + return x.TrainingTaskDefinition + } + return "" +} + +func (x *TrainingPipeline) GetTrainingTaskInputs() *_struct.Value { + if x != nil { + return x.TrainingTaskInputs + } + return nil +} + +func (x *TrainingPipeline) GetTrainingTaskMetadata() *_struct.Value { + if x != nil { + return x.TrainingTaskMetadata + } + return nil +} + +func (x *TrainingPipeline) GetModelToUpload() *Model { + if x != nil { + return x.ModelToUpload + } + return nil +} + +func (x *TrainingPipeline) GetModelId() string { + if x != nil { + return x.ModelId + } + return "" +} + +func (x *TrainingPipeline) GetParentModel() string { + if x != nil { + return x.ParentModel + } + return "" +} + +func (x *TrainingPipeline) GetState() PipelineState { + if x != nil { + return x.State + } + return PipelineState_PIPELINE_STATE_UNSPECIFIED +} + +func (x *TrainingPipeline) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *TrainingPipeline) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *TrainingPipeline) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *TrainingPipeline) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *TrainingPipeline) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *TrainingPipeline) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *TrainingPipeline) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +// Specifies Vertex AI owned input data to be used for training, and +// possibly evaluating, the Model. +type InputDataConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The instructions how the input data should be split between the + // training, validation and test sets. + // If no split type is provided, the + // [fraction_split][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.fraction_split] + // is used by default. + // + // Types that are assignable to Split: + // + // *InputDataConfig_FractionSplit + // *InputDataConfig_FilterSplit + // *InputDataConfig_PredefinedSplit + // *InputDataConfig_TimestampSplit + // *InputDataConfig_StratifiedSplit + Split isInputDataConfig_Split `protobuf_oneof:"split"` + // Only applicable to Custom and Hyperparameter Tuning TrainingPipelines. + // + // The destination of the training data to be written to. + // + // Supported destination file formats: + // - For non-tabular data: "jsonl". + // - For tabular data: "csv" and "bigquery". + // + // The following Vertex AI environment variables are passed to containers + // or python modules of the training task when this field is set: + // + // * AIP_DATA_FORMAT : Exported data format. + // * AIP_TRAINING_DATA_URI : Sharded exported training data uris. + // * AIP_VALIDATION_DATA_URI : Sharded exported validation data uris. + // * AIP_TEST_DATA_URI : Sharded exported test data uris. + // + // Types that are assignable to Destination: + // + // *InputDataConfig_GcsDestination + // *InputDataConfig_BigqueryDestination + Destination isInputDataConfig_Destination `protobuf_oneof:"destination"` + // Required. The ID of the Dataset in the same Project and Location which data + // will be used to train the Model. The Dataset must use schema compatible + // with Model being trained, and what is compatible should be described in the + // used TrainingPipeline's [training_task_definition] + // [mockgcp.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. + // For tabular Datasets, all their data is exported to training, to pick + // and choose from. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Applicable only to Datasets that have DataItems and Annotations. + // + // A filter on Annotations of the Dataset. Only Annotations that both + // match this filter and belong to DataItems not ignored by the split method + // are used in respectively training, validation or test role, depending on + // the role of the DataItem they are on (for the auto-assigned that role is + // decided by Vertex AI). A filter with same syntax as the one used in + // [ListAnnotations][mockgcp.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations] + // may be used, but note here it filters across all Annotations of the + // Dataset, and not just within a single DataItem. + AnnotationsFilter string `protobuf:"bytes,6,opt,name=annotations_filter,json=annotationsFilter,proto3" json:"annotations_filter,omitempty"` + // Applicable only to custom training with Datasets that have DataItems and + // Annotations. + // + // Cloud Storage URI that points to a YAML file describing the annotation + // schema. The schema is defined as an OpenAPI 3.0.2 [Schema + // Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). + // The schema files that can be used here are found in + // gs://google-cloud-aiplatform/schema/dataset/annotation/ , note that the + // chosen schema must be consistent with + // [metadata][mockgcp.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] of + // the Dataset specified by + // [dataset_id][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.dataset_id]. + // + // Only Annotations that both match this schema and belong to DataItems not + // ignored by the split method are used in respectively training, validation + // or test role, depending on the role of the DataItem they are on. + // + // When used in conjunction with + // [annotations_filter][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter], + // the Annotations used for training are filtered by both + // [annotations_filter][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter] + // and + // [annotation_schema_uri][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotation_schema_uri]. + AnnotationSchemaUri string `protobuf:"bytes,9,opt,name=annotation_schema_uri,json=annotationSchemaUri,proto3" json:"annotation_schema_uri,omitempty"` + // Only applicable to Datasets that have SavedQueries. + // + // The ID of a SavedQuery (annotation set) under the Dataset specified by + // [dataset_id][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.dataset_id] + // used for filtering Annotations for training. + // + // Only Annotations that are associated with this SavedQuery are used in + // respectively training. When used in conjunction with + // [annotations_filter][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter], + // the Annotations used for training are filtered by both + // [saved_query_id][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.saved_query_id] + // and + // [annotations_filter][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotations_filter]. + // + // Only one of + // [saved_query_id][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.saved_query_id] + // and + // [annotation_schema_uri][mockgcp.cloud.aiplatform.v1beta1.InputDataConfig.annotation_schema_uri] + // should be specified as both of them represent the same thing: problem type. + SavedQueryId string `protobuf:"bytes,7,opt,name=saved_query_id,json=savedQueryId,proto3" json:"saved_query_id,omitempty"` + // Whether to persist the ML use assignment to data item system labels. + PersistMlUseAssignment bool `protobuf:"varint,11,opt,name=persist_ml_use_assignment,json=persistMlUseAssignment,proto3" json:"persist_ml_use_assignment,omitempty"` +} + +func (x *InputDataConfig) Reset() { + *x = InputDataConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InputDataConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InputDataConfig) ProtoMessage() {} + +func (x *InputDataConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_msgTypes[1] + 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 InputDataConfig.ProtoReflect.Descriptor instead. +func (*InputDataConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_aiplatform_v1beta1_training_pipeline_proto_rawDescGZIP(), []int{1} +} + +func (m *InputDataConfig) GetSplit() isInputDataConfig_Split { + if m != nil { + return m.Split + } + return nil +} + +func (x *InputDataConfig) GetFractionSplit() *FractionSplit { + if x, ok := x.GetSplit().(*InputDataConfig_FractionSplit); ok { + return x.FractionSplit + } + return nil +} + +func (x *InputDataConfig) GetFilterSplit() *FilterSplit { + if x, ok := x.GetSplit().(*InputDataConfig_FilterSplit); ok { + return x.FilterSplit + } + return nil +} + +func (x *InputDataConfig) GetPredefinedSplit() *PredefinedSplit { + if x, ok := x.GetSplit().(*InputDataConfig_PredefinedSplit); ok { + return x.PredefinedSplit + } + return nil +} + +func (x *InputDataConfig) GetTimestampSplit() *TimestampSplit { + if x, ok := x.GetSplit().(*InputDataConfig_TimestampSplit); ok { + return x.TimestampSplit + } + return nil +} + +func (x *InputDataConfig) GetStratifiedSplit() *StratifiedSplit { + if x, ok := x.GetSplit().(*InputDataConfig_StratifiedSplit); ok { + return x.StratifiedSplit + } + return nil +} + +func (m *InputDataConfig) GetDestination() isInputDataConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *InputDataConfig) GetGcsDestination() *GcsDestination { + if x, ok := x.GetDestination().(*InputDataConfig_GcsDestination); ok { + return x.GcsDestination + } + return nil +} + +func (x *InputDataConfig) GetBigqueryDestination() *BigQueryDestination { + if x, ok := x.GetDestination().(*InputDataConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +func (x *InputDataConfig) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *InputDataConfig) GetAnnotationsFilter() string { + if x != nil { + return x.AnnotationsFilter + } + return "" +} + +func (x *InputDataConfig) GetAnnotationSchemaUri() string { + if x != nil { + return x.AnnotationSchemaUri + } + return "" +} + +func (x *InputDataConfig) GetSavedQueryId() string { + if x != nil { + return x.SavedQueryId + } + return "" +} + +func (x *InputDataConfig) GetPersistMlUseAssignment() bool { + if x != nil { + return x.PersistMlUseAssignment + } + return false +} + +type isInputDataConfig_Split interface { + isInputDataConfig_Split() +} + +type InputDataConfig_FractionSplit struct { + // Split based on fractions defining the size of each set. + FractionSplit *FractionSplit `protobuf:"bytes,2,opt,name=fraction_split,json=fractionSplit,proto3,oneof"` +} + +type InputDataConfig_FilterSplit struct { + // Split based on the provided filters for each set. + FilterSplit *FilterSplit `protobuf:"bytes,3,opt,name=filter_split,json=filterSplit,proto3,oneof"` +} + +type InputDataConfig_PredefinedSplit struct { + // Supported only for tabular Datasets. + // + // Split based on a predefined key. + PredefinedSplit *PredefinedSplit `protobuf:"bytes,4,opt,name=predefined_split,json=predefinedSplit,proto3,oneof"` +} + +type InputDataConfig_TimestampSplit struct { + // Supported only for tabular Datasets. + // + // Split based on the timestamp of the input data pieces. + TimestampSplit *TimestampSplit `protobuf:"bytes,5,opt,name=timestamp_split,json=timestampSplit,proto3,oneof"` +} + +type InputDataConfig_StratifiedSplit struct { + // Supported only for tabular Datasets. + // + // Split based on the distribution of the specified column. + StratifiedSplit *StratifiedSplit `protobuf:"bytes,12,opt,name=stratified_split,json=stratifiedSplit,proto3,oneof"` +} + +func (*InputDataConfig_FractionSplit) isInputDataConfig_Split() {} + +func (*InputDataConfig_FilterSplit) isInputDataConfig_Split() {} + +func (*InputDataConfig_PredefinedSplit) isInputDataConfig_Split() {} + +func (*InputDataConfig_TimestampSplit) isInputDataConfig_Split() {} + +func (*InputDataConfig_StratifiedSplit) isInputDataConfig_Split() {} + +type isInputDataConfig_Destination interface { + isInputDataConfig_Destination() +} + +type InputDataConfig_GcsDestination struct { + // The Cloud Storage location where the training data is to be + // written to. In the given directory a new directory is created with + // name: + // `dataset---` + // where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. + // All training input data is written into that directory. + // + // The Vertex AI environment variables representing Cloud Storage + // data URIs are represented in the Cloud Storage wildcard + // format to support sharded data. e.g.: "gs://.../training-*.jsonl" + // + // * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data + // * AIP_TRAINING_DATA_URI = + // "gcs_destination/dataset---